[Mono-winforms-list] Problem simple example
Arnoux Vincent
varnoux@atmel.fr
Tue, 09 Dec 2003 15:08:22 +0100
This is a multi-part message in MIME format.
--------------010807070306020800010303
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Hi List,
I am working on a RH 9.1 with Mono 0.28 installed.
When trying to run simple .NET examples like the one following (found on
Microsoft doc), I meet an error:
err:menu:MENU_GetSysMenu failed to load system menu!
The program still runs, but the window is screwed up.
Is there an easy solution or my (wine) installation is not good ?
Vincent
--
Vincent Arnoux
Lithography Development Engineer
Tel: (+33)4 42 53 65 99
--------------010807070306020800010303
Content-Type: text/plain;
name="checkedListBoxCtrl.cs"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="checkedListBoxCtrl.cs"
//------------------------------------------------------------------------------
/// <copyright from='1997' to='2001' company='Microsoft Corporation'>
/// Copyright (c) Microsoft Corporation. All Rights Reserved.
///
/// This source code is intended only as a supplement to Microsoft
/// Development Tools and/or on-line documentation. See these other
/// materials for detailed information regarding Microsoft code samples.
///
/// </copyright>
//------------------------------------------------------------------------------
namespace Microsoft.Samples.Windows.Forms.Cs.CheckedListBoxCtl {
using System;
using System.ComponentModel;
using System.Windows.Forms;
using System.Resources;
using System.Drawing;
/// <summary>
/// This sample demonstrates the features of the CheckedListBox control.
/// </summary>
public class CheckedListBoxCtl : System.Windows.Forms.Form {
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components;
private System.Windows.Forms.ToolTip toolTip1;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.CheckBox chkOnClick;
private System.Windows.Forms.CheckBox chkIntegralHeight;
private System.Windows.Forms.CheckBox chkMultiColumn;
private System.Windows.Forms.Button cmdAdd;
private System.Windows.Forms.CheckBox chkSorted;
private System.Windows.Forms.Button cmdRemove;
private System.Windows.Forms.Button cmdReset;
private System.Windows.Forms.CheckBox chkThreeDCheckBoxes;
private System.Windows.Forms.CheckedListBox checkedListBox1;
/// <summary>
/// The tree that we can add to the checkedListBox1.
/// </summary>
private string[] trees = new string[] { "Spruce",
"Ash",
"Koa",
"Elm",
"Oak",
"Cherry",
"Ironwood",
"Cedar",
"Sequoia",
"Walnut",
"Maple",
"Balsa",
"Pine" };
public CheckedListBoxCtl() {
//
// Required for Windows Form Designer support
//
InitializeComponent();
// Add all but the last five trees to the checkedListBox1
for (int i = 0; i <= trees.Length - 5; i++) {
checkedListBox1.Items.Add(trees[i]);
}
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose(bool disposing)
{
if (disposing) {
if (components != null) {
components.Dispose();
}
}
base.Dispose(disposing);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent() {
this.components = new System.ComponentModel.Container();
this.chkMultiColumn = new System.Windows.Forms.CheckBox();
this.cmdRemove = new System.Windows.Forms.Button();
this.chkSorted = new System.Windows.Forms.CheckBox();
this.cmdReset = new System.Windows.Forms.Button();
this.chkThreeDCheckBoxes = new System.Windows.Forms.CheckBox();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.chkOnClick = new System.Windows.Forms.CheckBox();
this.chkIntegralHeight = new System.Windows.Forms.CheckBox();
this.cmdAdd = new System.Windows.Forms.Button();
this.checkedListBox1 = new System.Windows.Forms.CheckedListBox();
this.toolTip1 = new System.Windows.Forms.ToolTip(components);
chkMultiColumn.Location = new System.Drawing.Point(16, 72);
chkMultiColumn.TabIndex = 2;
chkMultiColumn.CheckState = System.Windows.Forms.CheckState.Checked;
chkMultiColumn.Text = "&MultiColumn";
chkMultiColumn.Size = new System.Drawing.Size(104, 25);
chkMultiColumn.Checked = true;
chkMultiColumn.CheckedChanged += new System.EventHandler(chkMultiColumn_CheckedChanged);
cmdRemove.Location = new System.Drawing.Point(96, 168);
cmdRemove.TabIndex = 3;
cmdRemove.Text = "&Remove";
cmdRemove.Size = new System.Drawing.Size(75, 23);
cmdRemove.Click += new System.EventHandler(cmdRemove_Click);
chkSorted.Location = new System.Drawing.Point(16, 96);
chkSorted.TabIndex = 3;
chkSorted.Text = "&Sorted";
chkSorted.Size = new System.Drawing.Size(136, 25);
toolTip1.SetToolTip(chkSorted, "Controls whether the list is sorted.");
chkSorted.CheckedChanged += new System.EventHandler(chkSorted_CheckedChanged);
cmdReset.Location = new System.Drawing.Point(16, 200);
cmdReset.TabIndex = 4;
cmdReset.Enabled = false;
cmdReset.Text = "R&eset";
cmdReset.Size = new System.Drawing.Size(75, 23);
cmdReset.Click += new System.EventHandler(cmdReset_Click);
chkThreeDCheckBoxes.Location = new System.Drawing.Point(16, 24);
chkThreeDCheckBoxes.TabIndex = 0;
chkThreeDCheckBoxes.CheckState = System.Windows.Forms.CheckState.Checked;
chkThreeDCheckBoxes.Text = "T&hreeDCheckBoxes";
chkThreeDCheckBoxes.Size = new System.Drawing.Size(136, 25);
chkThreeDCheckBoxes.Checked = true;
toolTip1.SetToolTip(chkThreeDCheckBoxes, "Indicates if the check values should be shown as flat or 3D checkmarks.");
chkThreeDCheckBoxes.CheckedChanged += new System.EventHandler(chkThreeDCheckBoxes_CheckedChanged);
groupBox1.Location = new System.Drawing.Point(248, 16);
groupBox1.TabIndex = 0;
groupBox1.TabStop = false;
groupBox1.Text = "CheckedListBox";
groupBox1.Size = new System.Drawing.Size(248, 264);
chkOnClick.Location = new System.Drawing.Point(16, 120);
chkOnClick.TabIndex = 4;
chkOnClick.CheckState = System.Windows.Forms.CheckState.Checked;
chkOnClick.Text = "&CheckOnClick";
chkOnClick.Size = new System.Drawing.Size(136, 25);
chkOnClick.Checked = true;
toolTip1.SetToolTip(chkOnClick, "Indicates whether the check box should be toggled on the first click on an item.");
chkOnClick.CheckedChanged += new EventHandler(chkOnClick_CheckedChanged);
chkIntegralHeight.Location = new System.Drawing.Point(16, 48);
chkIntegralHeight.TabIndex = 1;
chkIntegralHeight.CheckState = System.Windows.Forms.CheckState.Checked;
chkIntegralHeight.Text = "&IntegralHeight";
chkIntegralHeight.Size = new System.Drawing.Size(120, 25);
chkIntegralHeight.Checked = true;
chkIntegralHeight.CheckedChanged += new EventHandler(chkIntegralHeight_CheckedChanged);
cmdAdd.Location = new System.Drawing.Point(16, 168);
cmdAdd.TabIndex = 2;
cmdAdd.Text = "&Add";
cmdAdd.Size = new System.Drawing.Size(75, 23);
cmdAdd.Click += new EventHandler(cmdAdd_Click);
checkedListBox1.ThreeDCheckBoxes = true;
checkedListBox1.IntegralHeight = false;
checkedListBox1.TabIndex = 1;
checkedListBox1.CheckOnClick = true;
checkedListBox1.ColumnWidth = 100;
checkedListBox1.MultiColumn = true;
checkedListBox1.Size = new System.Drawing.Size(232, 84);
checkedListBox1.Location = new System.Drawing.Point(8, 24);
checkedListBox1.Text = "checkedListBox1";
toolTip1.Active = true;
this.Text = "Checked ListBox";
this.TabIndex = 0;
this.Size = new System.Drawing.Size(512, 320);
this.Controls.Add(groupBox1);
this.Controls.Add(cmdAdd);
this.Controls.Add(cmdRemove);
this.Controls.Add(cmdReset);
this.Controls.Add(checkedListBox1);
groupBox1.Controls.Add(chkOnClick);
groupBox1.Controls.Add(chkIntegralHeight);
groupBox1.Controls.Add(chkMultiColumn);
groupBox1.Controls.Add(chkThreeDCheckBoxes);
groupBox1.Controls.Add(chkSorted);
}
/// <summary>
/// Event that gets fired when the user clicks on the threeDCheckBoxes
/// checkbox.
/// </summary>
private void chkThreeDCheckBoxes_CheckedChanged(object sender, EventArgs e) {
checkedListBox1.ThreeDCheckBoxes = chkThreeDCheckBoxes.Checked;
}
/// <summary>
/// Event that gets fired when the user clicks on the integralHeight
/// checkbox.
/// </summary>
private void chkIntegralHeight_CheckedChanged(object sender, EventArgs e) {
checkedListBox1.IntegralHeight = chkIntegralHeight.Checked;
checkedListBox1.Height = 94;
}
/// <summary>
/// Event that gets fired when the user clicks on the multiColumn
/// checkbox.
/// </summary>
private void chkMultiColumn_CheckedChanged(object sender, EventArgs e) {
checkedListBox1.MultiColumn = chkMultiColumn.Checked;
}
/// <summary>
/// Event that gets fired when the user clicks on the sorted
/// checkbox.
/// </summary>
private void chkSorted_CheckedChanged(object sender, EventArgs e) {
checkedListBox1.Sorted = chkSorted.Checked;
cmdReset.Enabled = !chkSorted.Checked;
}
/// <summary>
/// This event gets fired when the user clicks on the onClick
/// CheckBox.
/// </summary>
private void chkOnClick_CheckedChanged(object sender, EventArgs e) {
checkedListBox1.CheckOnClick = chkOnClick.Checked;
}
/// <summary>
/// Event that gets fired when the user clicks on the Add
/// button. This handler adds a tree to the listbox if
/// any additional trees remain.
/// </summary>
private void cmdAdd_Click(object sender, EventArgs e) {
// If we still have some trees that have not been
// added to the checkedListBox1, run through the list
// and add the first tree that has not been added.
if (checkedListBox1.Items.Count < trees.Length) {
bool stopLoop = false;
bool found = false;
int i = 0;
while (stopLoop == false) {
found = false;
for (int j = 0; j < checkedListBox1.Items.Count; j++)
if (trees[i].Equals((string)checkedListBox1.Items[j])) {
found = true;
}
if (found == false)
stopLoop = true;
else
i++;
}
checkedListBox1.Items.Add(trees[i]);
}
// Make sure that the user can't attemp to add trees
// that don't exist.
if (checkedListBox1.Items.Count == trees.Length)
cmdAdd.Enabled = false;
if (checkedListBox1.Items.Count > 0)
cmdRemove.Enabled = true;
}
/// <summary>
/// Event that gets fired when the user clicks on the Remove button.
/// This handler removes the selected tree from the list.
/// </summary>
private void cmdRemove_Click(object sender, EventArgs e) {
if (checkedListBox1.SelectedIndex >= 0) {
int index = checkedListBox1.SelectedIndex;
checkedListBox1.Items.RemoveAt(index);
if (index > 0)
checkedListBox1.SelectedIndex = index - 1;
else if (checkedListBox1.Items.Count != 0)
checkedListBox1.SelectedIndex = 0;
}
if (checkedListBox1.Items.Count== 0)
cmdRemove.Enabled = false;
if (checkedListBox1.Items.Count < trees.Length)
cmdAdd.Enabled = true;
}
/// <summary>
/// Event that gets fired when the user clicks on the Reset button.
/// </summary>
private void cmdReset_Click(object sender, EventArgs e ) {
int nListItems = checkedListBox1.Items.Count;
bool[] new_checked = new bool[trees.Length];
string item = "";
for (int k = 0; k < trees.Length; k++)
new_checked[k] = false;
int m = 0;
for (int k = 0; k < nListItems; k++) {
if (checkedListBox1.GetItemChecked(k)) {
item = (string) checkedListBox1.Items[k];
for (m = 0; m < trees.Length; m++)
if (trees[m].Equals(item))
new_checked[m] = true;
}
}
checkedListBox1.Items.Clear();
for (int j = 0; j < nListItems; j++) {
checkedListBox1.Items.Add(trees[j]);
if (new_checked[j] == true)
checkedListBox1.SetItemChecked(j,true);
}
cmdReset.Enabled = false;
}
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
public static void Main(string[] args) {
Application.Run(new CheckedListBoxCtl());
}
}
}
--------------010807070306020800010303--