2013-10-15 2 views
2

저는 초보자이며 2 개의 버튼으로 폴더 브라우저와 목록 상자를 사용하여 간단한 응용 프로그램을 만들어야합니다.C# Gis 추가 기능 응용 프로그램

하지만 여기에 arcmap 추가 기능이 있습니다. button.cs 등 여러 파일을 사용해야하지만 파일을 서로 상호 작용시키는 방법을 모르겠습니다. 저는 많은 포럼과 arcgis 리소스 센터를 조사했습니다. 하지만 아무것도 찾을 수없는 것 같습니다.

그래서 이벤트/변수를 다른 파일로 전달할 수 있습니다. downvote 또는 그와 비슷한 것에 대한 충동을 느끼기 전에 제게 잘못하고있는 것을 분명히하려고 노력하십시오 (나는 그들에게 무엇이 잘못되었는지 모르는 경우 더 나은 질문을 게시하는 것을 배우지 않을 것입니다.), 도움을 주셔서 감사합니다. 여기

는 일부 코드 내가, 당신이 올바른 몇 가지 정보와 Button 객체 (클래스)를 인스턴스화 할 이해할 수있는 것과

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Drawing; 
using System.Data; 
using System.Text; 
using System.Windows.Forms; 
using System.Runtime.InteropServices; 
using ESRI.ArcGIS.esriSystem; 
using ESRI.ArcGIS.Framework; 
using ESRI.ArcGIS.ArcMapUI; 

namespace ArcMapAddin16 
{ 
public class Button1 : ESRI.ArcGIS.Desktop.AddIns.Button 
{ 
    public Button1() 
    { 
    } 

    protected override void OnClick() 
    { 
     UID dockWinID = new UIDClass(); 
     dockWinID.Value = ThisAddIn.IDs.DockableWindow1; 
     IDockableWindow dockWindow =  ArcMap.DockableWindowManager.GetDockableWindow(dockWinID); 
     dockWindow.Show(true); 

     listBox1.Items.Add("Sally"); 
     listBox1.Items.Add("Craig"); 

     ArcMap.Application.CurrentTool = null; 
    } 
    protected override void OnUpdate() 
    { 
     Enabled = ArcMap.Application != null; 
    } 
} 

} 

답변

0

입니까?

두 가지 옵션이 있습니다. 첫 번째는 매개 변수를 삽입 할 수있는 생성자를 정의하고, 두 번째는 객체를 만든 다음 필요한 정보로 속성을 설정하는 것입니다.

이것은 코드에서 보이는 방식입니다.

public class Person 
{ 
// default constructor 
public Person() 
{ 
} 

public Person(string name, int age) 
{ 
    Name = name; 
    Age = age; 
} 

public string Name {get;set;} 
public int Age {get;set;} 
} 

public class Employee 
{ 
private Person _person; 

// default constructor 
// Option 1; 
public Employee() 
{ 
    // create instance of person injecting name and age on instantiation 
    Person = new Person("John Doe", "42"); 
} 

// Option 2 
public Employee(string name, int age) 
{ 
    // create instance with default constructor 
    Person = new Person(); 

    // set properties once object is created. 
    Person.Name = name; 
    Person.Age = age; 
} 

} 

나는 당신의 프로그래밍 기술을 알고,하지만 당신은 C#을 처음 사용하는 경우, 나는이 도움이 되었으면 좋겠 this link

을 확인하지 않습니다.

0

추가 기능의 다른 구성 요소에서 액세스 할 수있는 확장 기능을 구현해야합니다. Custom selection extension 샘플은 구성 요소 간의 통신을 구현하는 방법을 보여줍니다.

관련 문제