[ bokac @ 13.02.2004. 17:27 ] @
Da li moze neko da mi odgovori na jedno pitanje. U pitanju je Windows aplikacija u C#, a konkretno ListBox kontrola. Ne mogu da provalim kako da selektujem neku stavku u listi na ListBox-u desnim klikom. Sta god da pokusam, stavku jedino mogu da selektujem levim klikom sto je u stvari i neki default-u. Hteo bih da upotrebim ContextMenu na izabranoj stavki ListBox-a, ali bih da izostavim taj levi klik. Unapred hvala.
[ migoran @ 13.02.2004. 19:13 ] @
Snimi i kompajliraj. Ako radi popij pivu i za mene ;), ako ne onda sok ;(.

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

class ListceSDesnoKlikce : Form
{
ListBox lista = new ListBox();
ContextMenu menu = new ContextMenu();

public ListceSDesnoKlikce()
{
Size = new Size(300, 300);

menu.MenuItems.Add(new MenuItem("Delete"));
lista.Items.Add("1");
lista.Items.Add("2");
lista.Items.Add("3");
lista.MouseDown += new MouseEventHandler(lista_MouseDown);
lista.ContextMenu = menu;

Controls.Add(lista);
}
void lista_MouseDown(object o, MouseEventArgs e)
{
if(e.Button == MouseButtons.Right)
{
Point p = new Point(e.X, e.Y);
SelectFormPoint(p);
}
}

void SelectFormPoint(Point p)
{
for(int i=0; i<lista.Items.Count; i++)
{
if(lista.GetItemRectangle(i).Contains(p))
{
lista.SelectedIndex = i;
menu.Show(lista, p);
}else
{
lista.SelectedIndex = -1;
}
}
}

static void Main()
{
Application.Run(new ListceSDesnoKlikce());
}
}

Srdacan pozdrav,
Goran.
[ bokac @ 14.02.2004. 10:38 ] @
Hvala Gorane savrseno radi! Ako dolazis do BG-a javi pa da odemo na pivo : ) Pozdrav, Boki.
[ Acid @ 14.02.2004. 18:51 ] @
Hvala i u moje ime. Kao sto je bokac rekao savrseno radi, a resenje mi se mnogo svidja.