teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2019/11/08 04:51

投稿

Zuishin
Zuishin

スコア28675

answer CHANGED
@@ -1,3 +1,33 @@
1
1
  オーナードローくらいしか無いかもしれません。
2
2
 
3
- [ComboBoxの項目を自分で描画する - .NET Tips (VB.NET,C#...)](https://dobon.net/vb/dotnet/control/cbownerdraw.html)
3
+ [ComboBoxの項目を自分で描画する - .NET Tips (VB.NET,C#...)](https://dobon.net/vb/dotnet/control/cbownerdraw.html)
4
+
5
+ # 追記
6
+
7
+ ComboBox をフォームに貼り付けて comboBox1 とし、Mode を OwnerDrawFixed に変更。DrawItem イベントを作成して次のように実装して実行したところ、頭合わせできました。
8
+
9
+ ```C#
10
+ using System.Drawing;
11
+ using System.Windows.Forms;
12
+
13
+ namespace WindowsFormsApp1
14
+ {
15
+ public partial class Form1 : Form
16
+ {
17
+ public Form1()
18
+ {
19
+ InitializeComponent();
20
+ comboBox1.Items.AddRange(new[] { "abcdef\tghi", "Hello\tWorld" });
21
+ }
22
+
23
+ private void ComboBox1_DrawItem(object sender, DrawItemEventArgs e)
24
+ {
25
+ e.Graphics.DrawString(
26
+ comboBox1.Items[e.Index]?.ToString(),
27
+ comboBox1.Font,
28
+ new SolidBrush(comboBox1.ForeColor),
29
+ e.Bounds.Location);
30
+ }
31
+ }
32
+ }
33
+ ```