- PR -

ComboBoxのアイテムが出ない

1
投稿者投稿内容
Gogol
会議室デビュー日: 2005/02/19
投稿数: 11
投稿日時: 2005-02-19 11:00
始めての書き込みです。プログラミングの初心者なので、よろしくお願いします。

以下のように記述したが、combobox の中身が表示されない。入力されたアイテムの行数はちゃんと入力に沿って増えるが、中身がなのです。以下のコードに間違いがあれば教えてください。


int x_map = this.numX;
int y_map = this.numY;

int comboCnt = 0;
for (int x =0; x < x_map ; x++)
{
for (int y = 0; y < y_map ; y++)
{
this.comboBoxes[x+y*10] = new System.Windows.Forms.ComboBox();
this.comboBoxes[x+y*10].DrawMode = System.Windows.Forms.DrawMode.OwnerDrawVariable;
this.comboBoxes[x+y*10].DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBoxes[x+y*10].Items.AddRange(new object[] {"Item 1",
"Item 2",
"Item 3",
"Item 4",
"Item 5"});
this.comboBoxes[x+y*10].Location = new System.Drawing.Point(32+(x*128), 48+(y*48));
this.comboBoxes[x+y*10].Name = "comboBox" + comboCnt.ToString();
this.comboBoxes[x+y*10].Size = new System.Drawing.Size(96, 20);
this.comboBoxes[x+y*10].TabIndex = comboCnt+8;
comboCnt ++;
}
}
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2005-02-19 11:22
>this.comboBoxes[x+y*10].DrawMode = System.Windows.Forms.DrawMode.OwnerDrawVariable;

これが原因ですね。
オーナードローする場合は、MeasureItemイベント及びDrawItemイベントで自分で描画しなければいけません。
http://www.google.com/search?hl=ja&lr=lang_ja&oe=utf8&q=%E3%82%AA%E3%83%BC%E3%83%8A%E3%83%BC%E3%83%89%E3%83%AD%E3%83%BC+ComboBox
Gogol
会議室デビュー日: 2005/02/19
投稿数: 11
投稿日時: 2005-02-19 11:50
ありがとうございました。
ただのテキストを表示するだけですから、normal に変えたら、解決できました。実は機能一日中問題を捜してたが、やはり経験の足りない僕には...気づくことが出来ませんでした。
もっと頑張らなきゃ。

改めて、ありがとうございました。

1

スキルアップ/キャリアアップ(JOB@IT)