0
Windows Form에 ComboBox가 있으며 항목을 수동으로 그립니다. 각 항목은 그림과 텍스트로 구성되어 있으므로 항목의 높이는 34 픽셀입니다.ComboBox DropDownList 및 그림과 텍스트의 항목
사용자 입력을 사용하려면 ComboBox의 DropDownStyle을 DropDownList로 설정하고 싶습니다. 그러나 일부 항목을 선택하면 그림과 텍스트가 표시되므로 변형됩니다. 그리고 사용자가 일부 항목을 선택하면 텍스트 만 표시하려고합니다.
protected override void OnDrawItem(DrawItemEventArgs e)
{
e.DrawBackground();
if (e.Index > -1)
{
Piece item = this.Items[e.Index] as Piece;
e.Graphics.FillRectangle(Brushes.Gray, new Rectangle(e.Bounds.Left + 6, e.Bounds.Top + 6, 22, 22));
e.Graphics.DrawImage(item.Image, new Rectangle(e.Bounds.Left + 7, e.Bounds.Top + 7, 20, 20));
e.Graphics.DrawString(item.Title, e.Font,
new SolidBrush(e.ForeColor), e.Bounds.Left + 34, e.Bounds.Top + 10);
}
e.DrawFocusRectangle();
}
감사
1)는 I = DropDownStyle ComboBoxStyle.DropDownList 2) http://www.imagebam.com/image/26d4f1121064349이 OK 인 설정 의미 I 아이템을 그린다. http://www.imagebam.com/image/58139c121064355이 항목 중 일부를 선택하면 표시됩니다. – austinem
이미지가 손상되지 않았으므로 잘립니다. 15 ~ 20 개의 컨트롤에서 32 픽셀 높이를 그리는 중입니다. 이것을 위해 다른 논리를 사용하려면 e.State 키를 누르십시오 - 업데이트 된 게시물을 참조하십시오. –