小珊珊爱吃鱼 2015-01-02 09:29 采纳率: 0%
浏览 1689

关于C#多线程调用的问题

我的窗体是MDI多文档窗体,我在主窗体顶部天界了菜单,点击菜单弹出子窗体,但是因为我要用到数据库,所以我想在点击窗体这块使用线程,但是提示错误说线程间操作无效: 从不是创建控件"MainWindow"的线程访问它.,我看到论坛中说用到委托,可是我还不会,请教大神。
private void OpenTrainScheduleInquiryWindow() //线程用到的函数
{
if (trainScheduleInquiry == null || trainScheduleInquiry.IsDisposed)
{
trainScheduleInquiry = new TrainScheduleInquiryWindow();
trainScheduleInquiry.MdiParent = this;
trainScheduleInquiry.Show();

        }
        else
        {
            trainScheduleInquiry.WindowState = FormWindowState.Maximized;
            trainScheduleInquiry.Activate();
        }
            }
            private void Menu_TrainScheduleInquiry_Click(object sender, EventArgs e)
    {
        Thread openWindow = new Thread(OpenTrainScheduleInquiryWindow);
        openWindow.Start();//点击菜单显示子窗体的线程
    }

            请教大神这个用委托怎么写
  • 写回答

2条回答 默认 最新

  • threenewbee 2015-01-02 11:01
    关注

    就你的需求,根本看不出有用多线程的必要。

    因为OpenTrainScheduleInquiryWindow全部都在操作界面。非要用,就得把这些全部写在Invoke委托中,但是那样其实这些操作还是在主线程执行。

    评论

报告相同问题?

悬赏问题

  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services