現状の周波数設定方法は、textBoxに直接周波数を入力しなければいけないので、すこぶる操作性が悪い。
これをもう少し操作性がよくなるように改良したい。
いろいろ考えたけど、ちょっとめんどくさいけどラベルを8個並べて独立に制御する方法にした。
ラベルの上にマウスポインタが来た時に数値にアンダーバーを付け、その状態でホイールを動かすと、数値が変わるようにしたい。
ラベルの上にマウスポインタが来た時、数値の下にアンダーバーが表示されるようにするには、プロパティウインドウのイベントにMouseMoveとMousLeaveというイベントがあるのでそれを使った。
イベントハンドラはまとめられると思うけど、とりあえずそれぞれラベルごとに作成した。
label2だけ。
1 2 3 4 5 6 7 8 9 10 11 12 |
Font font1 = new Font("Arial", 30); Font font2 = new Font("Arial", 30, FontStyle.Underline); private void label2_MouseMove(object sender, MouseEventArgs e) { label2.Font = font2; } private void label2_MouseLeave(object sender, EventArgs e) { label2.Font = font1; } |
最初はFontStyleだけ入れ替えようと思ったけどできないみたいなので、Fontごと入れ替えた。
こんな感じで出来たけど、マウスホイールのイベントは、プロパティウインドウにない。 自前で定義してやれば使えると思うけど、どうだったかな..。
久々のプログラミングでいろいろ思い出せない。 まあ、ぼちぼちやっていこう。