2 // System.Windows.Forms Demo app
5 // Joel Basson (jstrike@mweb.co.za)
6 // Philip Van Hoof (me@freax.org)
12 using System.Windows.Forms;
17 public class GtkForm : System.Windows.Forms.Form
19 private Button copybutton = new Button();
20 private Button pastebutton = new Button();
21 private Button cutbutton = new Button();
22 private Button button1 = new Button();
23 private Button button2 = new Button();
24 private Label label1 = new Label();
25 private TextBox text1 = new TextBox();
26 private ProgressBar bar1 = new ProgressBar();
27 private CheckBox check1 = new CheckBox();
28 private RadioButton opt1 = new RadioButton();
29 private RadioButton opt2 = new RadioButton();
30 private RadioButton opt3 = new RadioButton();
31 private GroupBox frame1 = new GroupBox();
32 private PictureBox pbox = new PictureBox();
33 private FileDialog fdialog = new FileDialog();
34 private VScrollBar vScrollBar1 = new VScrollBar();
35 private HScrollBar hScrollBar1 = new HScrollBar();
37 private void InitializeWidgets()
39 this.vScrollBar1.Location = new Point(10, 10);
40 this.vScrollBar1.Maximum = 200;
41 this.vScrollBar1.Name = "vScrollBar1";
42 this.vScrollBar1.Size = new Size(24, 200);
43 this.vScrollBar1.TabIndex = 0;
44 this.vScrollBar1.ValueChanged += new EventHandler(this.vScrollBar1_ValueChanged);
45 this.vScrollBar1.ForeColor = Color.Brown;
46 this.vScrollBar1.BackColor = Color.Brown;
48 this.hScrollBar1.Location = new System.Drawing.Point(50, 60);
49 this.hScrollBar1.Maximum = 200;
50 this.hScrollBar1.Minimum = 10;
51 this.hScrollBar1.Name = "hScrollBar1";
52 this.hScrollBar1.Size = new System.Drawing.Size(360, 24);
53 this.hScrollBar1.ValueChanged += new EventHandler(this.hScrollBar1_ValueChanged);
55 this.button1.Location = new Point(150, 28);
56 this.button1.Name = "button1";
57 this.button1.Size = new Size(128, 44);
58 this.button1.Text = "Apply";
59 this.button1.Click += new EventHandler(this.button1_Click);
60 this.button1.Enabled = false;
62 this.button2.Location = new Point(150, 85);
63 this.button2.Name = "button2";
64 this.button2.Size = new Size(128, 44);
65 this.button2.Text = "File";
66 this.button2.Click += new EventHandler(this.button2_Click);
68 this.copybutton.Click += new EventHandler(this.copybutton_Click);
69 this.pastebutton.Click += new EventHandler(this.pastebutton_Click);
70 this.cutbutton.Click += new EventHandler(this.cutbutton_Click);
72 this.copybutton.Location = new Point(320, 80);
73 this.pastebutton.Location = new Point(320, 100);
74 this.cutbutton.Location = new Point(320, 120);
76 this.copybutton.Size = new Size(150, 20);
77 this.pastebutton.Size = new Size(150, 20);
78 this.cutbutton.Size = new Size(150, 20);
80 this.copybutton.Text ="Copy";
81 this.pastebutton.Text ="Paste";
82 this.cutbutton.Text ="Cut";
84 this.text1.Location = new Point(320,48);
85 this.text1.Name = "textBox1";
86 this.text1.Size = new Size(150, 22);
87 this.text1.Text = this.button1.Name;
89 this.bar1.Location = new Point(0, 230);
90 this.bar1.Size = new Size(512, 20);
91 this.bar1.Text = "This is a ProgressBar";
94 this.label1.Location = new Point(330, 20);
95 this.label1.Text = "This is a Label";
97 this.check1.Location = new Point(150, 160);
98 this.check1.Size = new Size(180, 20);
99 this.check1.Text = "arbitrary CheckBox";
100 this.check1.Checked = false;
102 this.opt1.Location = new Point(20, 160);
103 this.opt1.Size = new Size(100, 20);
104 this.opt1.Text = "CenterImage";
106 this.opt2.Location = new Point(20,180);
107 this.opt2.Size = new Size(100, 20);
108 this.opt2.Text = "StretchImage";
110 this.opt3.Location = new Point(20,200);
111 this.opt3.Size = new Size(100, 20);
112 this.opt3.Text = "Normal";
114 this.frame1.Location = new Point(15, 140);
115 this.frame1.Size = new Size (110, 85);
116 this.frame1.Text = "Properties";
118 this.pbox.Location = new Point (25, 28);
119 this.pbox.Size = new Size(100, 100);
122 // Add you image name and path below
123 // pbox.File = "/home/jstrike/Shared/7804.jpg";
126 this.Controls.AddRange(new System.Windows.Forms.Control[] {
145 this.Size = new Size(512, 250);
153 private void set_Text1_to_scrollbarvalues() {
154 this.text1.Text = String.Format ("{0}, {1}", this.vScrollBar1.Value, this.hScrollBar1.Value);
155 this.bar1.Value = this.hScrollBar1.Value;
158 private void vScrollBar1_ValueChanged (object sender, EventArgs e) {
159 this.set_Text1_to_scrollbarvalues ();
162 private void hScrollBar1_ValueChanged (object sender, EventArgs e) {
163 this.set_Text1_to_scrollbarvalues ();
167 private void copybutton_Click(object sender, EventArgs e){
168 //text1.Select (1, 4);
172 private void pastebutton_Click(object sender, EventArgs e){
177 private void cutbutton_Click(object sender, EventArgs e){
181 private void button1_Click(object sender, EventArgs e){
183 pbox.File = fdialog.OpenFile;
184 if (this.opt2.Checked) {
185 this.pbox.SizeMode = PictureBoxSizeMode.StretchImage;
187 if (this.opt1.Checked){
188 this.pbox.SizeMode = PictureBoxSizeMode.CenterImage;
190 if (this.opt3.Checked){
191 this.pbox.SizeMode = PictureBoxSizeMode.Normal;
195 private void button2_Click(object sender, EventArgs e){
196 fdialog.ShowDialog();
197 button1.Enabled = true;
204 public static void Main()
206 GtkForm form1 = new GtkForm ();
207 form1.Text = "System.Windows.Forms at work!";
208 Application.Run(form1);