关于C# “线程间操作无效: 从不是创建控件“frmMain”的线程访问它”

在定时器中加载线程,并在线程中调用“ShowMessang”

private void timMessage_Tick(object sender, EventArgs e)
{
            timMessage.Enabled = false;
            Thread tMessage = new Thread(new ThreadStart(ShowMessage));
}

线程中调用的方法

private void ShowMessage()
{
           ........
                frmMessage fmessage = new frmMessage(); frmMessage.iMessageCount = iCount;
                if (HaveOpened(this, "frmMessage"))
                {
                    Point p = new Point(Screen.PrimaryScreen.WorkingArea.Width - fmessage.Width, Screen.PrimaryScreen.WorkingArea.Height - 50);
                    fmessage.PointToScreen(p); fmessage.Location = p;
                    **fmessage.MdiParent = this;   //在指定MDI窗体时报错**
                    fmessage.Show();
                    for (int i = 0; i <= fmessage.Height; i++) { fmessage.Location = new Point(p.X, p.Y - i); System.Threading.Thread.Sleep(10); }
                }
.......
}

望高人指定,或共同探讨

委托