Create a custom dialog with radio button group : Dialog « GUI Windows Forms « C# / CSharp Tutorial





Create a custom dialog with radio button group
using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using System.IO;
using System.Text;

class MyDialog : System.Windows.Forms.Form
{
  private Button okButton;
  private Button cancelButton;
  private CheckBox checkbox;
  private GroupBox radiogroup;
  private RadioButton radio1,radio2,radio3;

  public int Radio;

  public bool Check {
    get { return checkbox.Checked; }
    set { checkbox.Checked = value;}
    }

  void OnRadio(Object sender,EventArgs e)
  {
    int n=0;
    foreach(Object o in radiogroup.Controls)
    {
      if(o is RadioButton)
      {
        RadioButton r=(RadioButton)o;
        if(r.Checked)
          Radio=n;
        n++;
      }
    }
  }

  public MyDialog()
  {
    Size = new Size(400,300);
    FormBorderStyle = FormBorderStyle.FixedDialog;
    Text = "Dialog test";

    okButton = new Button();    
    okButton.DialogResult = DialogResult.OK;
    okButton.Location = new Point(20,230);
    okButton.Size = new Size(80,25);
    okButton.Text = "OK";
    Controls.Add(okButton);

    cancelButton = new Button();
    cancelButton.Location = new Point(300,230);
    cancelButton.Size = new Size(80,25);
    cancelButton.Text = "Cancel";
    cancelButton.DialogResult = DialogResult.Cancel;
    Controls.Add(cancelButton);

    checkbox = new CheckBox();
    checkbox.Location = new Point(20,30);
    checkbox.Size = new Size(300,25);
    checkbox.Text = "CheckBox";
    Controls.Add(checkbox);

    radiogroup = new GroupBox();
    radiogroup.Text = "Radio Buttons";
    radiogroup.Location = new Point(10,60);
    radiogroup.Size = new Size(380,110);
    Controls.Add(radiogroup);

    radio1 = new RadioButton();
    radio1.Location = new Point(10,15); 

    radio1.Size = new Size(360,25);
    radio1.Click += new EventHandler(OnRadio);
    radio1.Text = "Radio Button #1";
    radiogroup.Controls.Add(radio1);


    radio2 = new RadioButton();
    radio2.Location = new Point(10,40); 
    radio2.Size = new Size(360,25);
    radio2.Click += new EventHandler(OnRadio);
    radio2.Text = "Radio Button #2";
    radiogroup.Controls.Add(radio2);


    radio3 = new RadioButton();
    radio3.Location = new Point(10,70); 
    radio3.Size = new Size(360,25);
    radio3.Click += new EventHandler(OnRadio);
    radio3.Text = "Radio Button #3";
    radiogroup.Controls.Add(radio3);

  }

}

public class CustomDialogTest{

  public static void Main()
  {
    MyDialog dlg = new MyDialog();

    DialogResult r=dlg.ShowDialog();
    
      Console.WriteLine(dlg.Radio);
      Console.WriteLine(dlg.Check);
    
  }
}










23.52.Dialog
23.52.1.Call ShowDialog on Form object
23.52.2.About DialogBox
23.52.3.Define your own dialog boxDefine your own dialog box
23.52.4.Dialog Apply Event IllustrationDialog Apply Event Illustration
23.52.5.Define Apply Button action method in dialog classDefine Apply Button action method in dialog class
23.52.6.Set DialogResult in your own dialog classSet DialogResult in your own dialog class
23.52.7.Create a custom dialog with radio button groupCreate a custom dialog with radio button group
23.52.8.Dialog with two buttonsDialog with two buttons