Define Apply Button action method in dialog class
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
public class DialogApplyMethodInDialogClass : System.Windows.Forms.Form
{
private System.Windows.Forms.Button btnCreate;
private System.Windows.Forms.Label lblReturn;
public DialogApplyMethodInDialogClass()
{
InitializeComponent();
}
private void InitializeComponent()
{
this.btnCreate = new System.Windows.Forms.Button();
this.lblReturn = new System.Windows.Forms.Label();
this.SuspendLayout();
this.btnCreate.Location = new System.Drawing.Point(80, 144);
this.btnCreate.Name = "btnCreate";
this.btnCreate.Size = new System.Drawing.Size(136, 23);
this.btnCreate.TabIndex = 0;
this.btnCreate.Text = "Create Dialog Box";
this.btnCreate.Click += new System.EventHandler(this.btnCreate_Click);
this.lblReturn.Location = new System.Drawing.Point(88, 64);
this.lblReturn.Name = "lblReturn";
this.lblReturn.Size = new System.Drawing.Size(152, 23);
this.lblReturn.TabIndex = 1;
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(292, 273);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.lblReturn,
this.btnCreate});
this.ResumeLayout(false);
}
[STAThread]
static void Main()
{
Application.Run(new DialogApplyMethodInDialogClass());
}
private void btnCreate_Click(object sender, System.EventArgs e)
{
DialogDemo dlg = new DialogDemo(this);
dlg.EnableApplyButton = false;
dlg.ShowDialog();
if (dlg.DialogResult == DialogResult.OK)
{lblReturn.Text = dlg.TextOut;}
else
{lblReturn.Text = dlg.DialogResult.ToString();}
}
public void UpdateLabel(string str)
{
lblReturn.Text = str;
}
}
public class DialogDemo : Form
{
private Button btnApply = new Button();
private TextBox txt = new TextBox();
private DialogApplyMethodInDialogClass f;
public DialogDemo(DialogApplyMethodInDialogClass f)
{
this.f = f;
FormBorderStyle = FormBorderStyle.FixedDialog;
BackColor = System.Drawing.Color.Aquamarine;
ControlBox = false;
MaximizeBox = false;
MinimizeBox = false;
ShowInTaskbar = false;
Size = new Size(400,200);
StartPosition = FormStartPosition.CenterScreen;
Button btnOK = new Button();
btnOK.Text = "OK";
btnOK.DialogResult = DialogResult.OK;
btnOK.Location = new Point(50,50);
btnOK.TabIndex = 0;
Controls.Add(btnOK);
btnApply.Text = "Apply";
btnApply.Location = new Point(150,50);
btnApply.TabIndex = 1;
btnApply.Enabled = false;
btnApply.Click += new EventHandler(ApplyOnClick);
Controls.Add(btnApply);
Button btnCancel = new Button();
btnCancel.Text = "Cancel";
btnCancel.DialogResult = DialogResult.Cancel;
btnCancel.Location = new Point(250,50);
btnCancel.TabIndex = 2;
Controls.Add(btnCancel);
txt.Size = new Size(100,15);
txt.Location = new Point(150,15);
txt.TextChanged += new EventHandler(TextBoxChanged);
Controls.Add(txt);
}
private void ApplyOnClick(object sender, EventArgs e)
{
f.UpdateLabel(txt.Text);
EnableApplyButton = false;
}
private void TextBoxChanged(object sender, EventArgs e)
{
TextBox txt = (TextBox)sender;
DialogDemo dlg = (DialogDemo)txt.Parent;
dlg.EnableApplyButton = true;
}
public bool EnableApplyButton
{
get {return btnApply.Enabled; }
set {btnApply.Enabled = value; }
}
public string TextOut
{
get
{return txt.Text; }
}
}
|
HTML code for linking to this page:
Related in same category :
-
-
-
-
|
|