winforms “第二个窗口”不会更改组合框中选定字段的值

c9qzyr3d  于 2023-03-03  发布在  其他
关注(0)|答案(2)|浏览(146)
public ScoreboardAdminPanel()
        {
            InitializeComponent();
            instance = this;
            foreach(var screens in Screen.AllScreens)
            {
                comboBox1.Items.Add(screens);
            }
 
        }
private void ButtonClickToShowScreen(object sender, EventArgs e)
        {
           
             ScoreBoardShower.Location = Screen.AllScreens[comboBox1.SelectedIndex].WorkingArea.Location;
                   
        }

从系统中连接的所有屏幕填充组合框列表。
当我从组合框中选择一些屏幕时,我想在单击按钮时在该屏幕上显示我的第二个窗体。
但是,如果我选择屏幕(例如"显示1")从列表一次,启动程序后,这个值"保存"为所有的生命周期程序,即使从列表中选择另一个屏幕。当我重新启动这个程序,并选择(例如"显示2")happaning相同。
对我的英语感到抱歉

zzwlnbp8

zzwlnbp81#

请记住,您将ScreenInstances放入组合框中。
您应该能够直接使用存储的值:

var screen = combobox1.SelectedItem as Screen; // Just cast as correct type
ScoreBoardShower.Location = screen.WorkingArea.Location;

这个应该可以了。

2ul0zpep

2ul0zpep2#

这不起作用,因为ScoreBoardShower.WindowState = FormWindowState.已最大化;如果在记分板排序窗口中更改,则窗口状态= FormWindowState.Normal;工作正常

相关问题