Permalänk

ComboBox Dropdownstyle

Hur förhindrar jag att man kan editera texten i dropdownen när property Text är satt?

comboBox2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDown;
comboBox2.Text = "hello world";

I guiet kan användaren flytta musmarkören till "Hello World" och skriva in valfri text. jag vill förhindra detta utan att behöva använda dropdownlist style. Jag har lyckats med göra den readonly genom:

Int32 EM_SETREADONLY = 207;
Int32 GW_CHILD = 5;
this.Combo.BackColor = Color.White;
int nDummy = SendMessage(GetWindow(this.Combo.Handle, GW_CHILD), EM_SETREADONLY)

MEN: då blir bakgrunden grå vilket jag inte vill.

Visa signatur

"Turn On, Tune In, and Drop Out"

Permalänk
Hedersmedlem

Gör något i KeyPress- eller KeyDown-händelserna, till exempel:

e.Handled = true;

Permalänk
Medlem

Re: ComboBox Dropdownstyle

None editable dropdown combobox.

Citat:

comboBox2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
comboBox2.Text = "hello world";

Visa signatur

Signatur?

Permalänk
Hedersmedlem

Re: Re: ComboBox Dropdownstyle

Citat:

Ursprungligen inskrivet av Nexit
None editable dropdown combobox.

Han ville ju inte ha den.

Permalänk
Medlem

Kanske bytt plats på SendMessage och när du sätter bakgrundsfärgen?

Int32 EM_SETREADONLY = 207; Int32 GW_CHILD = 5; int nDummy = SendMessage(GetWindow(this.Combo.Handle, GW_CHILD), EM_SETREADONLY) this.Combo.BackColor = Color.White;

Permalänk
Citat:

Ursprungligen inskrivet av Elgot
Gör något i KeyPress- eller KeyDown-händelserna, till exempel:

e.Handled = true;

funkade fint fint. Tack!

Visa signatur

"Turn On, Tune In, and Drop Out"