gpt4 book ai didi

c# - 将按钮链接在一起

转载 作者:太空狗 更新时间:2023-10-29 21:34:20 25 4
gpt4 key购买 nike

我正在尝试在表单上的某些按钮之间创建某种链接,这样当我单击一个按钮时,它会突出显示它之前的所有按钮 [某种音量 Controller ]

enter image description here

把它想象成一个音量 Controller 。所有这些彩色按钮都是灰色的,我想要实现的是当你点击一个按钮时,它会为它之前的所有按钮着色;然而,IDK 在不涉及大量无用代码的情况下做出这样的行为的最佳方式是什么......

最佳答案

首先,您需要将所有按钮添加到一个数组中,然后从那里处理它

代码

//Create an array of buttons and hook up the Click event of each of them
private Button[] VolumeButtons { get; set; }

public Main()
{
InitializeComponent();

//Assuming that you have 21 buttons as it appears in your picture...
VolumeButtons = new Button[21];
VolumeButtons[0] = button1;
VolumeButtons[1] = button2;
VolumeButtons[2] = button3;
VolumeButtons[3] = button4;
VolumeButtons[4] = button5;
VolumeButtons[5] = button6;
VolumeButtons[6] = button7;
VolumeButtons[7] = button8;
VolumeButtons[8] = button9;
VolumeButtons[9] = button10;
VolumeButtons[10] = button11;
VolumeButtons[11] = button12;
VolumeButtons[12] = button13;
VolumeButtons[13] = button14;
VolumeButtons[14] = button15;
VolumeButtons[15] = button16;
VolumeButtons[16] = button17;
VolumeButtons[17] = button18;
VolumeButtons[18] = button19;
VolumeButtons[19] = button20;
VolumeButtons[20] = button21;

foreach (var volumeButton in VolumeButtons)
volumeButton.Click += VolumeButton_Click;
}

void VolumeButton_Click(object sender, EventArgs e)
{
//Find the index of the clicked button
int index = Array.FindIndex(VolumeButtons, 0, VolumeButtons.Length, button => button == ((Button)sender));

//Set the color of all the previous buttons to Aqua, and all the forward buttons to gray [ you may play with it to match your colors then ]
for (int i = 0; i < VolumeButtons.Length; i++)
VolumeButtons[i].BackColor = i <= index ? Color.Aqua : Color.Gray;
}

关于c# - 将按钮链接在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18245014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com