[英][WinForm]Combobox in Tabpage
创建标签页并添加组合框动态时出现问题。 问题是,当 select 选项卡页的组合框中的一个值时,所有选项卡页中的组合框的值都更改为刚刚在组合框中选择的值。
如何防止其他标签页中组合框的值自动更改?
假设您要设置 ComboBox 控件,如下所示(不管控件是如何创建的)每个 ComboBox 不会影响其他控件。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Shown += OnShown;
}
private void OnShown(object? sender, EventArgs e)
{
// changing one does not affect others
comboBox1.DataSource = MonthNames;
comboBox2.DataSource = MonthNames;
}
private List<string> MonthNames
=> DateTimeFormatInfo.CurrentInfo.MonthNames.Take(12).ToList();
}
虽然这种方法在更改一个 ComboBox 时会更改另一个。
public partial class Form1 : Form
{
private readonly BindingSource _bindingSource = new ();
public Form1()
{
InitializeComponent();
Shown += OnShown;
}
private void OnShown(object? sender, EventArgs e)
{
_bindingSource.DataSource = MonthNames;
comboBox1.DataSource = _bindingSource;
comboBox2.DataSource = _bindingSource;
}
private List<string> MonthNames
=> DateTimeFormatInfo.CurrentInfo.MonthNames.Take(12).ToList();
}
简而言之,即使创建控件的方式侧重于每个 ComboBox 的加载方式,上述内容也应提供洞察力。
如果以上内容没有帮助,您需要提供一个小代码示例,这样我们就知道您是如何设置控件的了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.