わかりましたので、wysiwyg 編集を処理するカスタム コントロールを作成しました。基本的に 1 つのコントロールに、wysiwyg エディターの複数のインスタンスがあります。たとえば、レシピを編集するためのものかもしれません。もう 1 つは、そのレシピのメモ用です。
私の wysiwyg エディターには、インターフェイスを使用して両方を保持するコントロールへのコールバックを行うボタンがあるため、ボタンがクリックされたときに親コントロールでわかります。どのコントロールがコールバックを起動したかを調べるにはどうすればよいですか?
例
メインフォーム
public partial class MyCustomControl: RecipeControl.ISavedButton {
private void SaveButton_Clicked(){
//Do Work but how do I find out which control fired this event?
//Was it RecipeControl1 or RecipeControl2
}
}
私の解決策
私のレシピ管理では、これを行いました。
private void RecipeSaveButton_Clicked(object sender, EventArgs e){
if (RecipeSaveButtonListener != null) {
RecipeSaveButtonListener.RecipeSaveButton_Clicked(this, EventArgs.Empty); //This referring to the control, not the button.
}
}
私の主なコントロールでは、これを行いました。
private void RecipeSaveButton_Clicked(object sender, EventArgs e){
if (sender == RecipeControl1){
} else if (sender == RecipeControl2) {
}
}
私は両方の答えを実装しましたが、どちらも非常に優れています。申し訳ありませんが、両方を受け入れることはできません。