0
我在WindowsForms中有一個組合框,並且我手動繪製了項目。每個項目由圖片和文字組成,因此項目爲34 px高度。組合框DropDownList和圖片和文字中的項目
我想將DropDownStyle的ComboBox設置爲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)我的意思是設定DropDownStyle = ComboBoxStyle.DropDownList 2)http://www.imagebam.com/image/26d4f1121064349這是確定,我繪製項目。 http://www.imagebam.com/image/58139c121064355我看到這個,當我選擇一些項目 – austinem 2011-02-25 14:42:34
你的圖像沒有損壞,他們被剪輯。你只用15-20的控制就可以畫出32像素的高畫質。要有不同的繪製邏輯,請關閉e.State - 查看我更新的帖子。 – 2011-02-25 19:12:28