[ mvasicdo @ 21.01.2007. 14:15 ] @
Pozdrav svima, ima li nacina da se odredi koja je lokacije (Point kordinate) neke kliknute celije u DataGridView kontroli.
Evo konkretno, imam neku klasu koja mi kreira Balloon. Ako kliknem na neko dugme (button2) on mi pokrene taj Balloon sa sadrzajem, na lokaciji gdje se nalazi buttoon2.
Meni sada treba da kada kliknem na neku celiju u data grid view kontroli, da mi se balloon prikaze tacno na toj celiji tj. poravnan sa doljnom linijom celije.
Evo primjera za klik na dugme (balloon ce se prikazati na button2 kontroli):

[code]private void button2_Click(object sender, System.EventArgs e)
{
DevComponents.DotNetBar.Balloon b=new DevComponents.DotNetBar.Balloon();
b.Style=eBallonStyle.Alert;
b.CaptionImage=balloonTipFocus.CaptionImage.Clone() as Image;
b.CaptionText="Balloon Status Information";
b.Text="Balloons are now enabled for Balloon Tip Test area. Hover mouse over the area and set the focus to any control.";
b.AlertAnimation=eAlertAnimation.TopToBottom;
b.AutoResize();
b.AutoClose=true;
b.AutoCloseTimeOut=4;
b.Owner=this;
b.Show(button2,false);
}[code/]

Ovaj dio b.Show(button2,false); govori gdje da se prikaze balloon.

Evo primjera kako da mi se prikaze na lokaciji kursora:

Point p = Control.MousePosition;
b.Location = p;
b.Show(false);

Mene sada samo zanima kako da b.Location dodjelim lokaciju odredjene celije DataGridView kontrole.
Kada mi je selektovan neki red u DataGridView kontroli i na event KeyDown treba da mi procita satrzaj celije npr. u koloni 2 i selektovanog reda.

Moze li mi neko pomoci...
Hvala unaprijed....
[ roberto555 @ 21.01.2007. 18:24 ] @
probaj ovako nešto:

Code:

int xLoc=0;
intyLoc=0;

---ovo napiši u datagridview_mouseDown event------------
xLoc=e.X;
yLoc=e.y;
//a ovo bilo kuda--
balon.Location= new Point( this.Location.X+dataGridView.HitTest(xLoc,yLoc).ColumnX,this.Location.Y+dataGridView.HitTest(xLoc,yLoc).RowY);
balon.Show();


ovo zbrajanje koordinata forme na kojoj je grid i koordinata čelije ti treba ako forma nije maksimizirana, jer parent balonu nije
ova forma na kojoj je grid(ako ne postavis tako) onda ti dolazi ako je forma na kojoj je grid minimizirana i povuces ju u donji lijevi ugao ekrana taj balon ti se bi pojavio u gornjenm desnom ovisno o veličini te forme na kojoj je grid, koordinate bi bile ok al u odnosu na zaslon...... nadam se da si skužio nešto

[Ovu poruku je menjao roberto555 dana 21.01.2007. u 22:02 GMT+1]
[ mvasicdo @ 22.01.2007. 06:50 ] @
Hvala na odgovoru ali meni treba kada selektujem neki red i pritisnem Enter, u data gridu da mi na odredjenoj celiji u tom redu prikaze balloon, to znaci na dataGridView1_KeyDown(object sender, KeyEventArgs e)
[ roberto555 @ 22.01.2007. 07:07 ] @
OK, vidim da nisi ni pročitao sve a kamoli probao..., u kodu onaj dio iznad kojeg piše "ovo bilo kuda" stavi u event key down gdje provjeravaš dal je pristisnut enter, a mouse down sluzi samo za uzimanje koordinata klika, preko tih koordinata onda dobivas koordinate celije u gridu.....koristeči metodu HitTest, naravno redak treba selektirati mišem, da bi se pojavio na pravom mjestu!

[Ovu poruku je menjao roberto555 dana 22.01.2007. u 08:24 GMT+1]
[ mvasicdo @ 22.01.2007. 07:27 ] @
probao sam tako ne radi, ne znam da li ima veze sto mi se forma u kojoj je datagridview nalazi u mdi container-u,
[ roberto555 @ 22.01.2007. 08:07 ] @
mislim da to nebi smjelo imati veze, pošaljem ti kad dođem doma!
[ mvasicdo @ 22.01.2007. 08:18 ] @
ok, hvala puno
[ roberto555 @ 22.01.2007. 14:24 ] @
evo, u vs 2005

http://rapidshare.com/files/12...ordinate_CelijeUgridu.rar.html