私は同じことをする 2 つのトラックバーを持っていますが、1 つは左側のアクチュエーター用で、もう 1 つは右側のアクチュエーター用です。ユーザーが両方のアクチュエータを同じ方法で制御できるように、トラックバーを同期するオプションを GUI に追加したいと考えています。今のところ問題は、最初に試したときにトラックバーが同期することですが、両方のハンドルがフリーズすることです。これが私のコードです:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO.Ports;
namespace GUI1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.slider1.Minimum = 0;
this.slider1.Maximum = 9;
this.slider2.Minimum = 0;
this.slider2.Maximum = 9;
}
//ends public form1
private void Form1_Load(object sender, EventArgs e)
{
}
//starts first slider
private void slider1_Scroll(object sender, EventArgs e)
{
System.Windows.Forms.TrackBar slider1;
slider1 = (System.Windows.Forms.TrackBar)sender;
textBox1.Text = "" + slider1.Value.ToString();
if (syncOption.Checked == true)
{
slider1.Value = Convert.ToInt32(slider2.Value);
textBox1.Text = slider1.Value.ToString();
}
}//ends first slider
//starts second slider
private void slider2_Scroll(object sender, EventArgs e)
{
System.Windows.Forms.TrackBar slider2;
slider2 = (System.Windows.Forms.TrackBar)sender;
textBox2.Text = "" + slider2.Value.ToString();
if (syncOption.Checked == true)
{
slider2.Value = Convert.ToInt32(slider1.Value);
textBox2.Text = slider2.Value.ToString();
}
}//ends second slider
}
}
私はあなたの助けに感謝します!