ListBoxのOwnerDrawで横スクロールができなくなる
- 題名: ListBoxのOwnerDrawで横スクロールができなくなる
- 著者: Xn68000
- 日時: 2013/05/31 11:06:52
- ID: 31604
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: ListBoxのOwnerDrawで横スクロールができなくなる
- 著者: 魔界の仮面弁士
- 日時: 2013/05/31 11:58:53
- ID: 31605
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: ListBoxのOwnerDrawで横スクロールができなくなる
- 著者: Xn68000
- 日時: 2013/05/31 13:11:09
- ID: 31606
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
ListBoxの選択行をハイライト表示させないためOwnerDrawさせようと
しましたが、横スクロールができなくなってしまいました。
ListBoxの幅を超える分の文字列をlistBox1.Items.Add(msg)で追加して
やっても、スクロールバーの領域は描画されるものの、スライダーや
←→がボタン化しないため、スクロール操作ができません。
(DrawMode=Normalだとちゃんと横スクロールできます)
縦スクロールは問題なく動作するのですが。
セットしているプロパティは以下の通りです。
・DrawMode = OwnerDrawFixed
・HorizontalScrollbar = true
・ScrollAlwaysVisible = true
DrawItemのコードは以下の通りです。
private void listBox1_DrawItem(object sender, DrawItemEventArgs e) {
// 選択行を強調表示しない
if (e.Index > -1) {
// 描画する文字列の取得
string txt = ((ListBox)sender).Items[e.Index].ToString();
// 文字列の描画
e.Graphics.DrawString(txt, e.Font, Brushes.Black, e.Bounds);
}
}
DrawItemEventArgsのプロパティやメソッドには該当するものが
ないようですが、何か方法はあるのでしょうか。
以上よろしくお願いいたします。