C# 滑动面板
我正在使用WinForms。在我的表格中,我有一个按钮和一个面板。当我点击该按钮时,我想将面板向右滑动。我对代码有问题。目前,我得到红色的错误线下C# 滑动面板,c#,.net,winforms,panel,move,C#,.net,Winforms,Panel,Move,我正在使用WinForms。在我的表格中,我有一个按钮和一个面板。当我点击该按钮时,我想将面板向右滑动。我对代码有问题。目前,我得到红色的错误线下 =panel2.Location.X+1 错误消息:无法将int类型隐式转换为System.Drawing.Point 我试着用类似的方法移动面板,我通过增加面板来移动面板。我在代码中提供了这一点。如何移动面板 private void btn_Right_Click(object sender, EventArgs e) { // M
=panel2.Location.X+1代码>
错误消息:无法将int类型隐式转换为System.Drawing.Point
我试着用类似的方法移动面板,我通过增加面板来移动面板。我在代码中提供了这一点。如何移动面板
private void btn_Right_Click(object sender, EventArgs e)
{
// Make Panel Grow
//while (panel1.Width < 690)
//{
// panel1.Width = panel1.Width + 1;
//}
while (panel2.Location.X < 690)
{
panel2.Location = panel2.Location.X + 1;
}
}
private void btn\u右键单击(对象发送方,事件参数e)
{
//使面板成长
//而(面板1.宽度<690)
//{
//面板1.宽度=面板1.宽度+1;
//}
同时(面板2.位置X<690)
{
panel2.位置=panel2.位置.X+1;
}
}
由于尝试使用整数设置位置,因此出现错误。您将需要一个新的点实例:
panel2.Location = new Point(panel2.Location.X, panel2.Location.Y + 1);
由于尝试使用整数设置位置,因此出现错误。您将需要一个新的点实例:
panel2.Location = new Point(panel2.Location.X, panel2.Location.Y + 1);
尝试使用.Left而不是.Location.X
这在VB中工作
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
If sender.text = ">" Then
Do Until Panel1.Left > Me.Width - 50
Panel1.Left += 1
Loop
sender.text = "<"
Else
Panel1.Left = 511
sender.text = ">"
End If
End Sub
Private子按钮6\u单击(发送者作为对象,e作为事件参数)处理按钮6。单击
如果sender.text=“>”则
直到面板1.左>中。宽度-50
面板1.左+=1
环
sender.text=“”
如果结束
端接头
我很惊讶它是一个平滑的面板,但是面板是空的。尝试使用.Left而不是.Location.X
这在VB中工作
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
If sender.text = ">" Then
Do Until Panel1.Left > Me.Width - 50
Panel1.Left += 1
Loop
sender.text = "<"
Else
Panel1.Left = 511
sender.text = ">"
End If
End Sub
Private子按钮6\u单击(发送者作为对象,e作为事件参数)处理按钮6。单击
如果sender.text=“>”则
直到面板1.左>中。宽度-50
面板1.左+=1
环
sender.text=“”
如果结束
端接头
我很惊讶这是一个平滑的面板,但是面板是空的。那么红色的错误说明了什么。。?这里我们不是读心术的人..您试图将int指定给一个点抱歉,错误:无法将int类型隐式转换为System.Drawing.Point@MethodMan为什么不执行以下操作panel2.Location=new Point(x,y)代码>红色的错误是怎么说的。。?这里我们不是读心术的人..您试图将int指定给一个点抱歉,错误:无法将int类型隐式转换为System.Drawing.Point@MethodMan为什么不执行以下操作panel2.Location=new Point(x,y)代码>谢谢,这就成功了。我将查找新的点实例。仍然在学习这些术语:)@c.wideris有一种方法可以编写如下panel2.Location=newpoint(panel2.Location.X+0.5,panel2.Location.Y)。。。。。(0.5)因此滑动速度会变慢。不是+1否,控件的位置只能由整数表示,但我认为您的问题不是滑动太快,而是刷新问题。尝试在每一组位置之后刷新控件,如下所示:panel2.Refresh()谢谢,这就成功了。我将查找新的点实例。仍然在学习这些术语:)@c.wideris有一种方法可以编写如下panel2.Location=newpoint(panel2.Location.X+0.5,panel2.Location.Y)。。。。。(0.5)因此滑动速度会变慢。不是+1否,控件的位置只能由整数表示,但我认为您的问题不是滑动太快,而是刷新问题。尝试在每一组位置之后刷新控件,如下所示:panel2.Refresh()