スライダーのつまみの形を四角から丸に変更したいです。
こちらなんかを参考にされたらどうでしょうか。
fabricelacharme/ColorSlider: ColorSlider is a trackbar control written in C#
別人がパッケージ化したもののようですが、NuGetにもありました。
NuGet Gallery | lioncs.ColorSlider 1.0.0
同じようなtrackbarとnumericUpDownのセットを複数作りたいです。
ユーザーコントロールを作ってください。
ユーザー コントロールを作成する方法 - Windows Forms .NET | Microsoft Learn
その一つ一つに
こういったコードを書かなければなりませんか?
ユーザーコントロールを作ったら書くのは1回だけです。
データバインディングする手もありますが、たいして変わらないですね^^;
[C#]DataBindingsのサンプル(自分用): なんとなく・・・
cs:Form1.cs
1using System;
2using System.Drawing;
3using System.Windows.Forms;
4
5namespace Qjnzbpwllodhgbs
6{
7 public partial class Form1 : Form
8 {
9 public Form1()
10 {
11 // UserControl1を3つ置いてる
12 InitializeComponent();
13
14 userControl11.ValueChanged += UserControl1_ValueChanged;
15 userControl12.ValueChanged += UserControl1_ValueChanged;
16 userControl13.ValueChanged += UserControl1_ValueChanged;
17 }
18
19 private void UserControl1_ValueChanged(object sender, EventArgs e)
20 {
21 BackColor = Color.FromArgb(255,
22 (int)userControl11.Value,
23 (int)userControl12.Value,
24 (int)userControl13.Value);
25 }
26 }
27}
cs:UserControl1.cs
1using System;
2using System.Windows.Forms;
3
4namespace Qjnzbpwllodhgbs
5{
6 public partial class UserControl1 : UserControl
7 {
8 // numericUpDown1.Valueを外(Form1)から取得・設定できるようにラップ
9 public decimal Value
10 {
11 get => numericUpDown1.Value;
12 set => numericUpDown1.Value = value;
13 }
14
15 // ValueChangedイベントも欲しいだろうから作成
16 public event EventHandler ValueChanged;
17
18 public UserControl1()
19 {
20 // NumericUpDown・ColorSliderを1つずつ置いてる
21 InitializeComponent();
22
23 // 相互にバインド
24 numericUpDown1.DataBindings.Add(new Binding("Value", colorSlider1, "Value"));
25 colorSlider1.DataBindings.Add(new Binding("Value", numericUpDown1, "Value"));
26
27 numericUpDown1.ValueChanged += NumericUpDown1_ValueChanged;
28 }
29
30 private void NumericUpDown1_ValueChanged(object sender, EventArgs e)
31 {
32 // Microsoft Learnのサンプルではイベントもラップしているが、
33 // senderがnumericUpDown1になるのはイヤなので自前で発砲
34 ValueChanged?.Invoke(this, EventArgs.Empty);
35 }
36 }
37}
NuGetパッケージ導入手順
NuGetウィンドウを開く
- 「ソリューション エクスプローラー」を開く
- 該当のプロジェクトの「参照」を右クリックする
- 「NuGet パッケージの管理...」を選択する
インストールする
- 「参照」タブを選択する
- テキストボックスに目的のパッケージ名を入力する
- 目的のパッケージを選択する
- インストールボタンを押す
以上でそのプロジェクトでそのパッケージが使用可能になります。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2024/08/18 22:38