使用my.settings system.drawing.size和textbox.text

时间:2015-09-14 08:54:51

标签: vb.net my.settings

问题:

我想更改面板的大小并保存它,以便下次打开程序时它会保持面板的大小。因此,我设法使用类型为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()

2 个答案:

答案 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