尝试在Visual Studio中创建Windows窗体应用程序时遇到问题。
我在UserControl(例如ButtonUserControl)中有一些按钮(例如b1,b2 ..),当点击按钮时,应该添加第二个带面板的UserControl(例如ProgramUserControl)(例如PanelData)作为孩子到ButtonUserControl,使其可见,并且基于单击的按钮,应在面板中显示不同的标签(例如LabelButtonPressed)值。因此,例如,如果单击b1,则应将LabelButtonPressed值更改为" Button:b1"或类似的东西。
我尝试了两种方法:
为ProgramUserControl创建布尔属性(B1Pressed,B2Pressed等..),在相应的按钮单击事件中将它们设置为true或false,然后在ProgramUserControlDesigner中,根据布尔值更改LabelButtonPressed值。这不起作用,因为为了避免在每次单击按钮时创建一个新的ProgramUserControl实例,我在ButtonUserControl类中创建了一个ProgramUserControl实例,但由于实例只创建了一次,因此更改布尔属性值并不会。有所作为。
每次单击按钮时都会创建一个新的ProgramUserControl实例。这是有效的,但由于按钮可能会被多次按下并且每次都会创建一个新的ProgramUserControl,因此进程内存会飙升。我试图通过在创建一个新的ProgramUserControl(处理ButtonUserControl.Controls中的每个控件)上调用Dispose来解决这个问题,但是这似乎并没有释放任何进程内存。
我有什么选择?