Designer内で動的に生成されたコンポーネントのクリックイベントをどのように実装できるか、誰でも私の質問に答えてくれますか?TextBox、Label、Buttonコントロールのイベントをデザインサーフェイス内で使用する
私は
class MenuCommandServiceExt:IMenuCommandService
クラス内のスニペット以下の用途を持っていますが、任意の成功を得ませんでした。The DesignSurface (Extended) Class is Back, Together with a DesignSurfaceManager (Extended) Class and a Form Designer Demo! [^]ウェブサイト
を参照していました
if ((string)menuItem.Tag == "Label")
{
var lbl1 = (Label)surface.CreateControl(typeof(Label),
new Size(300, 20), new Point(10, 80));
this.lbl1.Text = "Hello World by DesignSurfaceExt";
this.lbl1.Click += new EventHandler(btnclick_Click);
this.lbl1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.lbl_MouseDoubleClick);
}
私はまた、ラベル内で定義されたすべてのイベントとラベルのためのユーザーコントロールを作成し、上記のコードスニペットを通してそれを作るを通してそれを達成しようとしたが、それはまた働いていませんでした。以下は私がユーザーコントロールに使用したロジックです。
if ((string)menuItem.Tag == "Label")
{
var lbl1 = (MyLabel)surface.CreateControl(typeof(MyLabel),
new Size(300, 20), new Point(10, 80));
}
ユーザーコントロール
public class MyLabel : Label
{
public MyLabel()
{
this.DoubleClick += new EventHandler(MyLabel_Click);
}
void MyLabel_Click(object sender, EventArgs e)
{
MessageBox.Show("Clicked");
}
.........
.....
...
}
はまた、私は強力なDesignSurfaceデザイナーの内側に構築された私のカスタムフォームを表示/保存したいです。それをどうすれば実現できますか?あなただけのmylabelというを入力するユーザーコントロールをキャスト
いいえ私はこの解決策を試しましたが、それは私のために働いていませんでした。 –
誰もがこれを調べました。最後の学期のプロジェクトの途中で、このコードを熱心に要求します。私を助けてください。あなたの調整を感謝します。 –