フォームがフォーカスを失ったとき (別のプログラムがクリックされたとき) に NullReference 例外をスローする次のコードがあります。
namespace MyProg
{
public partial class Main : Form
{
public Main()
{
InitializeComponent();
}
private void Main_Load(object sender, EventArgs e)
{
Mouse Mouse = new Mouse();
Thread Thread = new Thread(new ThreadStart(Mouse.Hook));
Thread.Start();
}
internal static bool IsTransparent = true;
internal static void TransparentForm()
{
Main.ActiveForm.TransparencyKey = (Main.IsTransparent ? Color.Firebrick : Color.AliceBlue);
}
}
public class Mouse
{
public void Hook()
{
while(true)
{
if(Screen.AllScreens.Length > 1)
{
if(Cursor.Position.X < 1300)
{
Main.IsTransparent = true;
Main.ActiveForm.Invoke(new MethodInvoker(Main.TransparentForm));
}
// .....
}
}
}
}
どうすれば排除できMain.ActiveForm
ますか?