ComboBox Frage

16/04/2009 - 08:51 von AWaning | Report spam
Hallo

der Kunde wünscht folgendes Feature:

Wenn er in der geöffneten ComboBox mit der Mouse über ein Item (Artikelbez.)
steht, soll in einer Picturebox
das entsprechende Bild zum Artikel angezeigt werden.

Wichtig: Er selektiert das Item nicht, sondern bei aufgeklappter Box soll
der Artikel angezeigt werden, wo die Selektion
sich gerade befindet.

Wie kriege ich raus, über welches Item die Mouse steht ?


Danke für jeden Tip,
Andreas
 

Lesen sie die antworten

#1 Frank Dzaebel
16/04/2009 - 10:53 | Warnen spam
Hallo Andreas,

Wenn er in der geöffneten ComboBox mit der Mouse über
ein Item (Artikelbez.) steht, soll in einer Picturebox
das entsprechende Bild zum Artikel angezeigt werden.



Ein Beispiel:

private void Form1_Load(object sender, EventArgs e)
{
DropDownCombo cb = new DropDownCombo();
cb.Items.AddRange(new object[]{
"Eins","Zwei","Drei", "Vier"});
Controls.Add(cb); cb.SelectedIndex = 0;
cb.SelectedDropDownItemChanged += new DropDownCombo.
DropDownEventHandler(cb_SelectedDropDownItemChanged);
}

void cb_SelectedDropDownItemChanged(object sender,
DropDownCombo.DropDownEventArgs e)
{
Debug.WriteLine("Neu selektierter DropDownItem: " +
e.SelectedItem);
}

class DropDownCombo : ComboBox
{
const int WM_CTLCOLORLISTBOX = 0x134;
object lastSelectedItem = null;

public delegate void DropDownEventHandler(
object sender, DropDownEventArgs e);

public event DropDownEventHandler SelectedDropDownItemChanged;

protected override void WndProc(ref Message m)
{
if (m.Msg == WM_CTLCOLORLISTBOX)
if (lastSelectedItem != SelectedItem)
{
lastSelectedItem = SelectedItem;
SelectedDropDownItemChanged(this,
new DropDownEventArgs(SelectedItem));
}
base.WndProc(ref m);
}

public class DropDownEventArgs : EventArgs
{
public DropDownEventArgs(object selectedItem)
{
SelectedItem = selectedItem;
}
public object SelectedItem;
}
}
_________

Es gàbe auch Möglichkeiten über eigene Controls ...


ciao Frank
Dipl. Inf. Frank Dzaebel [MCP, MVP C#]
http://Dzaebel.NET

Ähnliche fragen