我想用C#做一个示例应用程序向同学们展示(我10年级)无线设备控制器接口如何工作。我知道如何编写大部分程序,但我不知道如何做一件事。
我想以编程方式创建一个按钮,一旦创建它,就会关联一个面板,该面板将在单击该按钮时显示和隐藏。有人能帮助我吗?
我忘了告诉你什么。该面板也需要以编程方式创建。
答案 0 :(得分:1)
创建面板:
var panel = new Panel();
this.Controls.Add(panel);
创建按钮:
var button = new Button();
this.Controls.Add(button);
向按钮添加事件处理程序:
button.Click += (o,e) =>
{
panel.Visible = !panel.Visible;
};
答案 1 :(得分:0)
首先,您需要面板的名称。您需要设置其visibility属性以更改可见性(duh。)
要在按钮单击时执行此操作,您需要将事件处理程序附加到它。让我们首先假设您为了简单而调用了新创建的按钮“myButton”。
首先创建处理函数
void myButton_Click(object sender, RoutedEventArgs e){
panel.visibility = whatever;
}
稍后将该函数分配给具有
的单击处理程序myButton.Click += myButton_Click;
答案 2 :(得分:0)
Panel是否也是动态创建的? - Idle_Mind
@Idle_Mind是的,确实如此。我忘了提它 - DannyDSB官方
最简单的方法是在Button的Tag()属性中简单地存储对Panel的引用。这是一个愚蠢的例子:
private void button1_Click(object sender, EventArgs e)
{
Panel pnl = new Panel();
pnl.BorderStyle = BorderStyle.FixedSingle;
pnl.BackColor = Color.Red;
Button btn = new Button();
btn.Text = "Toggle Panel";
btn.Tag = pnl;
btn.Click += delegate {
Panel p = (Panel)btn.Tag;
p.Visible = !p.Visible;
};
flowLayoutPanel1.Controls.Add(btn);
flowLayoutPanel1.Controls.Add(pnl);
}