最前一頁,你必須Home_MouseMove事件更改爲非靜態:
public void Home_MouseMove(object sender, MouseEventArgs e)
{
bomb.Stop();
bomb.Start();
}
轉到Program.cs的文件,並從該代碼更改:
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new FrmMain());
}
}
這個代碼:
static class Program
{
public static FrmMain MainForm;// add this line
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
MainForm = new FrmMain();// add this line
Application.Run(MainForm);
}
}
現在在form2上,你可以像這樣在主窗體中調用MouseMove:
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
// call MouseMove event in main form
Program.MainForm.FrmMain_MouseMove(null, null);
}
}
你可以在觸發鼠標事件處理程序的另一個frm中創建一個事件,爲什麼不在另一個窗體上使用鼠標事件處理程序? – JohnnBlade 2012-07-12 10:46:45
因爲我在主窗體上寫了一個定時器函數。我不想以其他形式重新編寫代碼。 – Alvin 2012-07-12 10:48:49
然後只需在窗口2中創建一個主窗口訂閱的事件 – JohnnBlade 2012-07-12 10:51:43