C# 我有一个端口列表框,我不断得到;无法隐式转换类型';int';至';字符串'&引用;
我在这个加载方法中得到“无法隐式地将类型'int'转换为'string” 这是在查看“选项”页面时加载的选项:C# 我有一个端口列表框,我不断得到;无法隐式转换类型';int';至';字符串'&引用;,c#,client,bots,irc,C#,Client,Bots,Irc,我在这个加载方法中得到“无法隐式地将类型'int'转换为'string” 这是在查看“选项”页面时加载的选项: private void Options_Load(object sender, EventArgs e) { txtbBotUsername.Text = Properties.Settings.Default.setting_bot_username; txtbBotOAuth.Text = Properties.Settings.Default.setting_b
private void Options_Load(object sender, EventArgs e)
{
txtbBotUsername.Text = Properties.Settings.Default.setting_bot_username;
txtbBotOAuth.Text = Properties.Settings.Default.setting_bot_oauth_password;
lstBotPort.Text = Properties.Settings.Default.setting_bot_port; // Error Here
txtbStreamName.Text = Properties.Settings.Default.setting_stream_name;
txtbStreamerUsername.Text = Properties.Settings.Default.setting_streamer_username;
txtbStreamerOAuth.Text = Properties.Settings.Default.setting_streamer_oauth_password;
chbStartWin.Checked = Properties.Settings.Default.setting_start_windows;
chbStartMini.Checked = Properties.Settings.Default.setting_start_mini;
chbCheckUpdates.Checked = Properties.Settings.Default.setting_check_updates_launch;
chbMiniTray.Checked = Properties.Settings.Default.setting_mini_tray;
chbCloseTray.Checked = Properties.Settings.Default.setting_close_tray;
chbAlwaysTop.Checked = Properties.Settings.Default.setting_always_top;
}
我在这个保存方法中得到“无法隐式地将类型'string'转换为'int”
这是单击“保存”按钮的时间
private void btnOptionsSave_Click(object sender, EventArgs e)
{
Properties.Settings.Default.setting_bot_username = txtbBotUsername.Text;
Properties.Settings.Default.setting_bot_oauth_password = txtbBotOAuth.Text;
Properties.Settings.Default.setting_bot_port = lstBotPort.Text;
Properties.Settings.Default.setting_stream_name = txtbStreamName.Text;
Properties.Settings.Default.setting_streamer_username = txtbStreamerUsername.Text;
Properties.Settings.Default.setting_streamer_oauth_password = txtbStreamerOAuth.Text;
Properties.Settings.Default.setting_start_windows = chbStartWin.Checked;
Properties.Settings.Default.setting_start_mini = chbStartMini.Checked;
Properties.Settings.Default.setting_check_updates_launch = chbCheckUpdates.Checked;
Properties.Settings.Default.setting_mini_tray = chbMiniTray.Checked;
Properties.Settings.Default.setting_close_tray = chbCloseTray.Checked;
Properties.Settings.Default.setting_always_top = chbAlwaysTop.Checked;
Properties.Settings.Default.Save();
this.Close();
}
您可以看到,这些设置存储在程序设置中,设置“setting_bot_port”设置为INT,默认值为6667
在designer上,我在组合框列表中有3个端口可供选择,它们是6667443,80
该类型需要为INT,因为IRC类仅为端口连接接受INT
任何帮助都将不胜感激,我相信这是我忘记的愚蠢而简单的事情。只是为了排除一些可能性。。你有没有试过这样的方法:
Convert.ToInt32( lstBotPort.Text)
这里的问题是,您试图将整数分配给字符串,反之亦然。读取属性值时,将其指定给文本框时,请使用.ToString()
myTextBox.Text = myProperties.Port.ToString();
当您将端口号保存回“设置”时,您可以
将int赋值给字符串,反之亦然。您需要使用Integer.toString(…)和Integer.valueOf(…)@DiegoBasch包装赋值:这是正确的想法,但这是C#而不是Java。所以你想要
ToString()
和int.Parse
@BenVoigt my bad,甚至没有注意到它不是Java:)int.Parse比Convert.ToInt32;)快
mySettings.Port = Convert.ToInt32(myTextBox.Text);