Click here to Skip to main content
Click here to Skip to main content
Alternative Tip

Simple method using Enum.Parse to change the dockstyle to control on form with combobox

By , 9 May 2011
Rate this:
Please Sign up or sign in to vote.
ComboBox items do not have to be strings.
 
The combobox calls ToString on each object in Items so simply add the enum values to the combobox.
 

using System;
using System.Drawing;
using System.Windows.Forms;
 

namespace Anchor_Form
{
    public class Form1 : Form
    {
		public Form1()
		{
			InitializeComponent();
		    
			foreach (DockStyle style in Enum.GetValues(typeof(DockStyle)))
				comboBox1.Items.Add(style);
 
			comboBox1.SelectedIndex = 0;
		}
 
		private void InitializeComponent()
		{
			panel1		= new Panel();
			comboBox1	= new ComboBox();
			SuspendLayout();
			// 
			// panel1
			// 
			panel1.BackColor = SystemColors.ControlDarkDark;
			panel1.Location = new Point(43, 60);
			panel1.Name = "panel1";
			panel1.Size = new Size(200, 100);
			panel1.TabIndex = 0;
			// 
			// comboBox1
			// 
			comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
			comboBox1.Location = new Point(61, 178);
			comboBox1.Name = "comboBox1";
			comboBox1.Size = new Size(121, 21);
			comboBox1.TabIndex = 1;
			comboBox1.SelectedIndexChanged += new EventHandler(comboBox1_SelectedIndexChanged);
			// 
			// Form1
			// 
			AutoScaleDimensions = new SizeF(6F, 13F);
			AutoScaleMode = AutoScaleMode.Font;
			ClientSize = new Size(284, 264);
			Controls.Add(comboBox1);
			Controls.Add(panel1);
			Name = "Form1";
			Text = "Form1";
			ResumeLayout(false);
		}
 
		private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
		{
			panel1.Dock = (DockStyle)comboBox1.SelectedItem;
 
			comboBox1.BringToFront();
		}
 
		Panel		panel1;
		ComboBox	comboBox1;
	}
}

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

jarvisa
Software Developer (Senior) Shaw Inspection Systems Ltd
United Kingdom United Kingdom
No Biography provided

Comments and Discussions

 
GeneralReason for my vote of 4 Good solution when localization is n... PinmemberPhilippe Mori14-May-11 10:14 
GeneralAs Enum.Parse is not the best solution for this problem, the... PinmemberPhilippe Mori14-May-11 10:13 
As Enum.Parse is not the best solution for this problem, the article itself is pointless... This solution is better for prototype and in-house product that does not require to be localized. In that last case, it would be best to use our own custom object.
GeneralReason for my vote of 1 The point was a way using Enum.Parse... Pinmembercharles henington14-May-11 5:50 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web01 | 2.8.140415.2 | Last Updated 10 May 2011
Article Copyright 2011 by jarvisa
Everything else Copyright © CodeProject, 1999-2014
Terms of Use
Layout: fixed | fluid