gpt4 book ai didi

c# - 访问 win 表单控件仅在 Visual Studio 中从不同线程抛出异常

转载 作者:行者123 更新时间:2023-11-30 23:31:02 26 4
gpt4 key购买 nike

<分区>

我的知识是访问 UI 控件将抛出异常,如果它是从不是创建它的线程(UI 线程)访问。

我得到了一个在访问简单属性时不会抛出异常的代码使用调试器在 Visual Studio 中运行时的 UI 控件。

            var name = comboBox1.Name;
var m1 = comboBox1.Items[1].ToString();

它在访问 ComboBox 的 SelectedIndex 时执行。

            comboBox1.SelectedItem.ToString();

在没有调试器的情况下运行相同的代码不会抛出异常?同样的行为是当双击 exe 时,没有异常(exception)?

为什么只有在附加调试器而不是附加调试器的情况下运行代码时才会出现异常在没有调试器 (Ctrl + F5) 的情况下运行时?

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();

comboBox1.Items.Add("one");
comboBox1.Items.Add("two");
comboBox1.Items.Add("three");
}

private void button2_Click(object sender, EventArgs e)
{
Task.Factory.StartNew(() =>
{
var name = comboBox1.Name;
var m1 = comboBox1.Items[1].ToString();

MessageBox.Show(comboBox1.SelectedItem.ToString(), "MM");
});
}
}

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com