C# 每次单击按钮时面板都会移动
我正在使用WinForms。在我的表格中,我有一个面板和一个按钮 目标:每次单击按钮时,我都希望面板向上移动 问题:我目前遇到的问题是面板只向上移动一次C# 每次单击按钮时面板都会移动,c#,.net,winforms,panel,move,C#,.net,Winforms,Panel,Move,我正在使用WinForms。在我的表格中,我有一个面板和一个按钮 目标:每次单击按钮时,我都希望面板向上移动 问题:我目前遇到的问题是面板只向上移动一次 private void Button_Up_Click(object sender, EventArgs e) { if (panel1.Location.Y != 250) { while (panel1.Location.Y > 250)
private void Button_Up_Click(object sender, EventArgs e)
{
if (panel1.Location.Y != 250)
{
while (panel1.Location.Y > 250)
{
panel1.Location = new Point(panel1.Location.X, panel1.Location.Y - 80);
}
}
else
{
if (panel1.Location.Y < 1000)
{
while (panel1.Location.Y > 10)
{
panel1.Location = new Point(panel1.Location.X, panel1.Location.Y - 80);
}
}
}
}
private void按钮\u Up\u单击(对象发送者,事件参数e)
{
如果(面板1.位置Y!=250)
{
而(面板1.位置Y>250)
{
panel1.Location=新点(panel1.Location.X,panel1.Location.Y-80);
}
}
其他的
{
if(面板1.位置Y<1000)
{
而(面板1.位置Y>10)
{
panel1.Location=新点(panel1.Location.X,panel1.Location.Y-80);
}
}
}
}
第二个
while
使它尽可能地移动
随后的单击将发现
panel1.Location.Y
已经存在是否调试了代码?根据您的代码,它将移动到满足条件的最终位置。
之后,每次输入第一个“if”,因为值不是250(而是更少),所以忽略else,什么也不发生
如果Y不小于面板的高度,您可能只需要检查一次,然后根据您的值向上移动80。您的while循环将继续移动面板,直到它满足您的条件。我删除了第二个while,但面板仍然只移动一次。