btnMessage
フォームに がMain
あり、ユーザー コントロール ( uc
) もあります。
をクリックbtnMessage
すると、 が開き、uc
も作成されbtnMessage.enabled = false
ます。にはuc
、 というボタンがありますbtnExecute
。
私が欲しいのは、 in をクリックするbtnExecute
とuc
in btnMessage
formMain
が無効になることです。どうすればこれを行うことができますか?
更新コードは次のとおりです。
関数を使用していますmain.cs
public Main()
{
InitializeComponent();
formFunctionPointer += new functioncall(buttonHideorEnabled);
ucMessageTarget.userFunctionPointer = formFunctionPointer;
}
public delegate void functioncall(bool _status);
private event functioncall formFunctionPointer;
public void buttonHideorEnabled(bool _status)
{
btnMessageTarget.Enabled = _status;
}
とでuc.cs
:
public static string agentName = UtilitiesToolkit.agentMessageTarget;
public static string strn;
public UcMessageTarget(string str)
{
InitializeComponent();
strn = str;
}
public Delegate userControlPointer;
public Delegate userFunctionPointer;
private void btnExecute_Click(object sender, EventArgs e)
{
btnExecute.enabled = false;
userFunctionPointer.DynamicInvoke(false);
//I want btnMessage in Main form also disabled, please tell me how
}
しかし、それでもうまくいきませんでした。コンパイルすると、メインの次の行にエラーがあります:
public Main()
{
InitializeComponent();
formFunctionPointer += new functioncall(buttonHideorEnabled);
ucMessageTarget.userFunctionPointer = formFunctionPointer;
}
と言いました
オブジェクト参照がオブジェクトのインスタンスに設定されていません (ucMessageTarget.userFunctionPointer = formFunctionPointer; 内)。
助けてください。