2013-06-24 2 views
-4

나는 comboBox가 포함 된 winform을 가지고 있습니다. 내 질문은 : 클래스 내에서 해당 양식 외부에서 comboBox를 어떻게 사용할 수 있습니까? 는 여기에 몇 가지 사진을 어쩌면 당신은 클래스의 생성자에서 ComboBox에 대한 참조를 전달할 수ComboBox C# 외형

enter image description here

enter image description here

+1

별로 의미가 없습니다. 문제를 더 잘 설명하고 스크린 샷을 표시하지 않고 여기에 관련 코드를 붙여 넣으십시오. 'Code'-button (편집기에서 중괄호)으로 포맷 할 수 있습니다. –

답변

1

을 이해하기 쉽기 S : 비록,

public MyClass{ 

    private Combobox cbox; 

    public MyClass(Combobox box){ 
    cbox = box; 

    } 
} 

I 이 일을 자제합니다. 그것은 분명히 당신의 문제를 다루는 올바른 방법이 아닙니다. 불필요한 종속성을 생성하고 있습니다.

1

하지 마십시오. form1에 대한 class1의 불필요한 의존성을 만들 것입니다. 당신의 건축을 생각해보십시오!

절대적으로 원하면 폼에 대한 참조를 클래스에 제공하고 폼을 통해 액세스해야합니다.

+0

실제 예 : 반투명 브러시를 정의하고 첫 번째 값인 153은 불투명도를 나타냅니다. 그래서 나는 3 개의 불투명도 값 (100, 75, 50)으로 채워진 콤보 박스를 만들고 싶었고, 사용자가 그 값 중 하나를 선택할 때, 그 값은 153을 대체해야합니다. 153이 아니라, 변수를 넣을 것입니다. SolidBrush semiTransBrush = 새 SolidBrush (Color.FromArgb (153, 255, 255, 255)); –

+0

GUI와 모델을 분리해야합니다. Class1에서 모델 변경 사항을 폴링하거나 이벤트를 구현하십시오. – JeffRSon