问题:
我想更改面板的大小并保存它,以便下次打开程序时它会保持面板的大小。因此,我设法使用类型为my.settings
system.drawing.size
但是我在转换它时遇到问题,所以我最初可以输出my.settings
的默认大小
My.Settings.pnl_service_size = Tb_Pnl_Service_Size.Text
错误1类型的值' System.Drawing.Size'无法转换为'字符串'。
我知道如何使用my.settings,我只是很难转换它,所以我可以将它输出到我的textbox.text。
修改:
我如何填充文本框位于OnLoad event
Tb_Pnl_Service_Size.Text = My.Settings.pnl_service_size.ToString 'I populate the textbox
Pnl_Service.Size = New Size(My.Settings.pnl_service_size) 'The panel that I want to change the size
如何保存文本框是按OnClicked button
My.Settings.pnl_service_size = Tb_Pnl_Service_Size.Text.ToString
My.Settings.Save()
答案 0 :(得分:1)
关键信息是My.Settings
中值的变量类型。
My.Settings.pnl_service_size = Tb_Pnl_Service_Size.Text.ToString
这使它看起来像是字符串。问题是,这会节省类似:{Width=237, Height=133}
的内容,很容易无法转换回Size
变量。
如果Settings
中使用的类型为System.Drawing.Size
,则您无需转换为字符串即可将其保存:
My.Settings.pnl_service_size = Pnl_Service.Size
下次重置尺寸:
Pnl_Service.Size = My.Settings.pnl_service_size
您可以使用.ToString()
显示该值,但由于结果为String
,因此无法将其用作Size
。
TextBox1.Text = My.Settings.pnl_service_size.ToString()
答案 1 :(得分:0)
似乎无法使用文本框来指示某个对象的大小。
我将<td class="tmenu selected">foo</td>
的类型从my.settings
更改为system.drawing.size
这就是我使用它的方式。
在string
OnLoad event
按'I populate the textbox
Tb_Pnl_Service_Size.Text = My.Settings.pnl_service_size
'The panel that I want to change the size
Dim pnl_size As Array = Split(My.Settings.pnl_service_size, ",", 2)
Pnl_Service.Size = New Size(pnl_size(0), pnl_size(1))
textbox
保存到my.settings
OnClicked button