Visual studio 如何在VisualStudio中使用designer视图设计表单的多个状态?
这是个愚蠢的问题吗?我试图在C#Visual Studio的神秘世界中漫游。我希望能够在运行时的某个时间点替换面板,但是designer视图只有窗体的单个状态的静态视图 例如,表单上可能有panel1,带有按钮1和picturebox1。然后,如果用户按下按钮1,panel1将替换为panel2。面板2有按钮2和图片框2Visual studio 如何在VisualStudio中使用designer视图设计表单的多个状态?,visual-studio,user-interface,Visual Studio,User Interface,这是个愚蠢的问题吗?我试图在C#Visual Studio的神秘世界中漫游。我希望能够在运行时的某个时间点替换面板,但是designer视图只有窗体的单个状态的静态视图 例如,表单上可能有panel1,带有按钮1和picturebox1。然后,如果用户按下按钮1,panel1将替换为panel2。面板2有按钮2和图片框2 我知道如何在设计师身上制作panel1。有没有什么方法可以让我使用设计师来制作panel2?您是否可以只使用设计器来创建表单的一种状态,然后手动执行任何其他状态?我没有专门使用
我知道如何在设计师身上制作panel1。有没有什么方法可以让我使用设计师来制作panel2?您是否可以只使用设计器来创建表单的一种状态,然后手动执行任何其他状态?我没有专门使用C#form designer,但通常您设计表单的初始状态,并在代码中执行其余(所有动态更改)操作。现在,可以将panel2放在窗体上,使其不可见,并在按下按钮1时切换面板的可见性,但这很可能不是一个好的解决方案。我不知道有什么方法可以在设计器中显示窗体的不同状态。然而,听起来好像你想要做的是两个不同的用户控件。我建议您创建一个表单,可以在代码中的两个用户控件之间切换。 这并不完全是您所要求的,但至少现在您不必在设计器之外对不同的面板进行编码。 这是您需要做的:
Private Sub LoadUserControl()
If UsePanel1 Then
Controls.Add(new UserControlPanel1())
Else
Controls.Add(new UserControlPanel2())
End If
End Sub
然后,如果要在两个调用控件之间切换,请在添加新控件之前删除(oldControl)或其他内容。没错,因为这会产生很大的表单开销。特别是如果你有很多控件,那么“在两个用户控件之间切换”是什么意思?我编辑了我的答案,希望它能澄清我的意思。如果需要详细说明,请回来。