我将以我是C#新手并试图理解组合框作为开头。这是来自Form1的代码-只是一个新表单,其中有一个名为cbTimeZone的组合框,以及一个显示所选TZ和退出的按钮。问题是,当我运行它时,组合框并没有填充,即使我在Form1_load方法中指定了它。名字是正确的,所以不是这样的。我遗漏了什么?
using System;
using System.Windows.Forms;
namespace ComboBoxes
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
cbTimeZone.Items.Add("(GMT) Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London");
cbTimeZone.Items.Add("(GMT-12:00) International Date Line West");
cbTimeZone.Items.Add("(GMT-11:00) Midway Island, Samoa");
cbTimeZone.Items.Add("(GMT-10:00) Hawaii");
cbTimeZone.SelectedIndex = 2;
}
private string GetTimeZone(string selectedTZ)
{
if (selectedTZ == "(GMT) Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London") { return "GMT Standard Time"; }
if (selectedTZ == "(GMT-12:00) International Date Line West") { return "Dateline Standard Time"; }
if (selectedTZ == "(GMT-11:00) Midway Island, Samoa") { return "Samoa Standard Time"; }
if (selectedTZ == "(GMT-10:00) Hawaii") { return "Hawaiian Standard Time"; }
else
{
return "US Eastern Standard Time";
}
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("Timezone: " + GetTimeZone(cbTimeZone.SelectedItem.ToString()));
Application.Exit();
}
private void cbTimeZone_SelectedIndexChanged(object sender, EventArgs e)
{
}
}
}发布于 2020-12-08 01:03:42
我不确定会有什么问题,因为我在我这一端尝试了这件事,它就像你想要的那样工作。你能说这对你来说还是个问题吗?

发布于 2020-12-08 01:00:51
我已经测试过了,你的代码工作正常。可能有两个问题,要么是表单加载事件没有连接起来,要么是VS没有创建新的exe。尝试清理并重建项目。
发布于 2020-12-08 01:39:22
实际上,我补充说
this.Load += Form1_Load;这似乎解决了我的问题。
不是问我为什么需要这个,但是谢谢你的帮助!
https://stackoverflow.com/questions/65185910
复制相似问题