반응형

C# -- comboBox 이미지 item 그리기


참고: http://csharphelper.com/blog/2016/03/make-a-combobox-display-colors-or-images-in-c/

       https://stackoverflow.com/questions/10891214/c-sharp-combobox-with-lines

       https://docs.microsoft.com/ko-kr/dotnet/api/system.windows.forms.combobox.drawitem?view=netframework-4.7.2





** 사용자가 직접 그려서 comboBox 만들때


0. ComboBoxStyle 은 반드시 DropDownList 로 지정해야함.



1. comboBox 의 DrawMode 를, OwnerDrawVariable 로 설정한다.


   this.ComboBox1.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawVariable;


   -- comboBox 크기가 변하지 않는 다면, OwnerDrawFixed 로 설정한다. 



2.  comboBox  각 item의 height, width 변경할려면, MeasureItem event 를 처리하면 됨.

   -- 그냥 쉽게 가상함수OnMeasureItem( ) 메소드를 재정의하여 사용해도 됨.



3. item 내용을 직접그릴때는 DrawItem event 에서 처리하면됨.

  -- MeasureItem event 이후에 DrawItem event 호출됨.

  -- 그냥 쉽게 가상함수 OnDrawItem( ) 메소드를 재정의하여 사용해도 됨.





< 실행결과 >



  --> 계속 combobox 선택시 내용 안보여서, 내용보여주기위해 기능없는 button1 만듦.



< 소스코드 >

--









반응형
Posted by 자유프로그램
,