-1

问题:

我想更改面板的大小并保存它,以便下次打开程序时它会保持面板的大小。因此,我设法my.settings使用system.drawing.size

但是我在转换它时遇到问题,所以我最初可以输出我的默认大小my.settings

My.Settings.pnl_service_size = Tb_Pnl_Service_Size.Text

错误 1 ​​类型“System.Drawing.Size”的值无法转换为“String”。

我知道如何使用 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()
4

2 回答 2

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()
于 2015-09-14T13:48:24.073 回答
0

似乎无法使用文本框来指示某个对象的大小。

我将my.settingsfrom的类型更改system.drawing.sizestringthis 这就是我使用它的方式。

期间填充文本框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

My.Settings.pnl_service_size = Tb_Pnl_Service_Size.Text
My.Settings.Save()
于 2015-09-15T01:15:56.770 回答