0

ボタンを押したまま、スライダー コントロールの値を大きくする必要があります。
ボタンを押している限り、スライダーは増加し続ける必要があります。

たとえば、シナリオはボリューム コントロールの典型的なものです。
ボリューム用のスライダーとボリュームIncrease用のボタンがあります。
ボタンを押し続けている限り、Increaseボタンを放すまでスライダーのボリューム (マーカー) が連続的に増加し続けるはずです。

私が達成したことは、ボタンの個々のクリックイベントでスライダーの値を変更することです。
どうすればこれを達成できるかについて、ご提案をよろしくお願いします。

4

2 に答える 2

1

によると、RepeatButton があるはずです。この場合、それはあなたのニーズに完全に適合します。スレッドがスリープしないようにしてください。フリーズはあまり良いことではありません。これは、リファクタリングの最初の候補の 1 つです。

于 2012-08-23T05:22:07.880 に答える
0
    public bool Ok = false;

    public void Do()
    {
        while (Ok)
        {
            this.Text += ".";
            System.Threading.Thread.Sleep(100);
            Application.DoEvents();
            //I added dots to the form text , You do your own mission
        }
    }

    private void btnLouder_MouseDown(object sender, MouseEventArgs e)
    {
        Ok = true;
        Do();
    }

    private void btnLouder_MouseUp(object sender, MouseEventArgs e)
    {
        Ok = false;
    }

TrackBar コントロールをフォームに追加してから、
While ブロックのコードをこれに置き換えます。これはまさにあなたが望むことを行います:

if(trackBar1.Value < trackBar1.Maximum)
    trackBar1.Value += 1;
于 2012-08-23T05:15:35.183 に答える