Private datagridview maid = new datagridview ();
Private void addcolorcolumn ()
{
Datagridviewcomboboxcolumn comboboxcolumn =
New datagridviewcomboboxcolumn ();
Comboboxcolumn. Items. addrange (
Color. Red, color. Yellow, color. Green, color. Blue );
Comboboxcolumn. valuetype = typeof (color );
Datagridview1.columns. Add (comboboxcolumn );
Datagridview1.editingcontrolshowing + =
New maid (
Datagridview1_editingcontrolshowing );
}
Private void datagridview1_editingcontrolshowing (Object sender,
Datagridvieweditingcontrolshowingeventargs E)
{
ComboBox combo = E. Control as ComboBox;
If (combo! = NULL)
{
// Remove an existing event-handler, if present, to avoid
// Adding multiple handlers when the editing control is reused.
Combo. selectedindexchanged-=
New eventhandler (combobox_selectedindexchanged );
// Add the event handler.
Combo. selectedindexchanged + =
New eventhandler (combobox_selectedindexchanged );
}
}
Private void combobox_selectedindexchanged (Object sender, eventargs E)
{
(ComboBox) sender). backcolor = (color) (ComboBox) sender). selecteditem;
}
Http://msdn.microsoft.com/zh-cn/library/system.windows.forms.datagridviewcomboboxeditingcontrol.aspx