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);
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;
63 this.button2.Location = new Point(150, 85);
64 this.button2.Name = "button2";
65 this.button2.Size = new Size(128, 44);
66 this.button2.Text = "File";
67 this.button2.Click += new EventHandler(this.button2_Click);
68 this.button2.ForeColor = Color.Brown;
70 this.copybutton.Click += new EventHandler(this.copybutton_Click);
71 this.pastebutton.Click += new EventHandler(this.pastebutton_Click);
72 this.cutbutton.Click += new EventHandler(this.cutbutton_Click);
74 this.copybutton.Location = new Point(320, 80);
75 this.pastebutton.Location = new Point(320, 100);
76 this.cutbutton.Location = new Point(320, 120);
78 this.copybutton.Size = new Size(150, 20);
79 this.pastebutton.Size = new Size(150, 20);
80 this.cutbutton.Size = new Size(150, 20);
82 this.copybutton.Text ="Copy";
83 this.pastebutton.Text ="Paste";
84 this.cutbutton.Text ="Cut";
86 this.text1.Location = new Point(320,48);
87 this.text1.Name = "textBox1";
88 this.text1.Size = new Size(150, 22);
89 this.text1.Text = this.button1.Name;
91 this.bar1.Location = new Point(0, 230);
92 this.bar1.Size = new Size(512, 20);
93 this.bar1.Text = "This is a ProgressBar";
96 this.bar1.ForeColor = Color.Blue;
97 this.bar1.BackColor = Color.Lime;
99 this.label1.Location = new Point(330, 20);
100 this.label1.Text = "This is a Label";
102 this.check1.Location = new Point(150, 160);
103 this.check1.Size = new Size(180, 20);
104 this.check1.Text = "arbitrary CheckBox";
105 this.check1.Checked = false;
107 this.opt1.Location = new Point(20, 160);
108 this.opt1.Size = new Size(100, 20);
109 this.opt1.Text = "CenterImage";
111 this.opt2.Location = new Point(20,180);
112 this.opt2.Size = new Size(100, 20);
113 this.opt2.Text = "StretchImage";
115 this.opt3.Location = new Point(20,200);
116 this.opt3.Size = new Size(100, 20);
117 this.opt3.Text = "Normal";
119 this.frame1.Location = new Point(15, 140);
120 this.frame1.Size = new Size (110, 85);
121 this.frame1.Text = "Properties";
123 this.pbox.Location = new Point (25, 28);
124 this.pbox.Size = new Size(100, 100);
127 // Add you image name and path below
128 // pbox.File = "/home/jstrike/Shared/7804.jpg";
131 this.Controls.AddRange(new System.Windows.Forms.Control[] {
150 this.Size = new Size(512, 250);
158 private void set_Text1_to_scrollbarvalues() {
159 this.text1.Text = String.Format ("{0}, {1}", this.vScrollBar1.Value, this.hScrollBar1.Value);
160 this.bar1.Value = this.hScrollBar1.Value;
163 private void vScrollBar1_ValueChanged (object sender, EventArgs e) {
164 this.set_Text1_to_scrollbarvalues ();
167 private void hScrollBar1_ValueChanged (object sender, EventArgs e) {
168 this.set_Text1_to_scrollbarvalues ();
172 private void copybutton_Click(object sender, EventArgs e){
173 //text1.Select (1, 4);
177 private void pastebutton_Click(object sender, EventArgs e){
182 private void cutbutton_Click(object sender, EventArgs e){
186 private void button1_Click(object sender, EventArgs e){
188 pbox.File = fdialog.OpenFile;
189 if (this.opt2.Checked) {
190 this.pbox.SizeMode = PictureBoxSizeMode.StretchImage;
192 if (this.opt1.Checked){
193 this.pbox.SizeMode = PictureBoxSizeMode.CenterImage;
195 if (this.opt3.Checked){
196 this.pbox.SizeMode = PictureBoxSizeMode.Normal;
200 private void button2_Click(object sender, EventArgs e){
201 fdialog.ShowDialog();
202 button1.Enabled = true;
209 public static void Main()
211 GtkForm form1 = new GtkForm ();
212 form1.Text = "System.Windows.Forms at work!";
213 Application.Run(form1);