DataGridView: cambiar cursor del raton en cierta columna

10/11/2007 - 15:52 por AT Baez | Informe spam
Hola grupo, hacia algun tiempo que no venia por aqui. Un atento saludo a
todos,
Tengo la siguiente consulta:
En un datagridwiew como hago para que el cursor del raton cambie al pasar el
mismo sobre "una determinada columna"?
Tengo lo siguiente para, por ejemplo obtener la direccion de una celda:
{
DataGridView dgrid = (DataGridView)sender; string msg =
String.Format("Row: {0}, Column: {1}",
dgrid.CurrentCell.RowIndex, dgrid.CurrentCell.ColumnIndex);
MessageBox.Show(msg, "Current Cell");
}
Pero esto solo me funciona en el evento click; en el "MouseHover" que es el
que yo quiero me devuelve la celda seleccionada, pero NO aquella sobre la
cual ha pasado el raton.
Apreciaria vuestra ayuda por favor; muchas gracias de antemano,
Alberto

Preguntas similare

Leer las respuestas

#1 Luis Miguel Blanco
11/11/2007 - 12:00 | Informe spam
Hola Alberto

Puedes utilizar el evento CellMouseMove del DataGridView para cambiar el
cursor cuando se posicione en una columna, de forma similar a como puedes ver
en el siguiente bloque de código.

//--
private Cursor curAnterior = null;
//
private void DataGridView1_CellMouseMove(object sender,
System.Windows.Forms.DataGridViewCellMouseEventArgs e)
{
if (this.DataGridView1.Columns(e.ColumnIndex).Name == "ListPrice")
{
this.DataGridView1.Cursor = Cursors.Hand;
}
else
{
this.DataGridView1.Cursor = curAnterior;
}
}
//--

Espero que te sirva de ayuda.

Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"AT Baez" wrote:

Hola grupo, hacia algun tiempo que no venia por aqui. Un atento saludo a
todos,
Tengo la siguiente consulta:
En un datagridwiew como hago para que el cursor del raton cambie al pasar el
mismo sobre "una determinada columna"?
Tengo lo siguiente para, por ejemplo obtener la direccion de una celda:
{
DataGridView dgrid = (DataGridView)sender; string msg =
String.Format("Row: {0}, Column: {1}",
dgrid.CurrentCell.RowIndex, dgrid.CurrentCell.ColumnIndex);
MessageBox.Show(msg, "Current Cell");
}
Pero esto solo me funciona en el evento click; en el "MouseHover" que es el
que yo quiero me devuelve la celda seleccionada, pero NO aquella sobre la
cual ha pasado el raton.
Apreciaria vuestra ayuda por favor; muchas gracias de antemano,
Alberto



Respuesta Responder a este mensaje
#2 AT Baez
11/11/2007 - 12:54 | Informe spam
Muchas gracias Luis Miguel,
Para tu satisfacción te diré que no es la primera vez que me ayudas; en
relación con "datagridview" creo que esta es la segunda (también me has
contestado sobre otros temas) tengo tus comentarios y ejemplos en un archivo
de texto, donde pondré esta también.
De paso decirte que no soy programador profesional (mi oficio es
carpintero), solo programo a nivel "casero", como hobby.
Lo dicho, muchas gracias por tu tiempo,
Alberto
-

"Luis Miguel Blanco" wrote in
message news:
Hola Alberto

Puedes utilizar el evento CellMouseMove del DataGridView para cambiar el
cursor cuando se posicione en una columna, de forma similar a como puedes
ver
en el siguiente bloque de código.

//--
private Cursor curAnterior = null;
//
private void DataGridView1_CellMouseMove(object sender,
System.Windows.Forms.DataGridViewCellMouseEventArgs e)
{
if (this.DataGridView1.Columns(e.ColumnIndex).Name == "ListPrice")
{
this.DataGridView1.Cursor = Cursors.Hand;
}
else
{
this.DataGridView1.Cursor = curAnterior;
}
}
//--

Espero que te sirva de ayuda.

Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"AT Baez" wrote:

Hola grupo, hacia algun tiempo que no venia por aqui. Un atento saludo a
todos,
Tengo la siguiente consulta:
En un datagridwiew como hago para que el cursor del raton cambie al pasar
el
mismo sobre "una determinada columna"?
Tengo lo siguiente para, por ejemplo obtener la direccion de una celda:
{
DataGridView dgrid = (DataGridView)sender; string msg >> String.Format("Row: {0}, Column: {1}",
dgrid.CurrentCell.RowIndex, dgrid.CurrentCell.ColumnIndex);
MessageBox.Show(msg, "Current Cell");
}
Pero esto solo me funciona en el evento click; en el "MouseHover" que es
el
que yo quiero me devuelve la celda seleccionada, pero NO aquella sobre la
cual ha pasado el raton.
Apreciaria vuestra ayuda por favor; muchas gracias de antemano,
Alberto



Respuesta Responder a este mensaje
#3 AT Baez
11/11/2007 - 14:08 | Informe spam
Hola otra vez Luis Miguel,
He aplicado el codigo que me pasaste a mi utilidad (por supuesto cambiando
el nombre del datagridview y el de la columna), y en la linea:
if (this.DataGridView1.Columns(e.ColumnIndex).Name == "ListPrice")
...da el siguiene error al intentar compilar:
'System.Windows.Forms.DataGridView.Columns' is a 'property' but is used like
a 'method'
Disculpa las molestias,
Alberto

"Luis Miguel Blanco" wrote in
message news:
Hola Alberto

Puedes utilizar el evento CellMouseMove del DataGridView para cambiar el
cursor cuando se posicione en una columna, de forma similar a como puedes
ver
en el siguiente bloque de código.

//--
private Cursor curAnterior = null;
//
private void DataGridView1_CellMouseMove(object sender,
System.Windows.Forms.DataGridViewCellMouseEventArgs e)
{
if (this.DataGridView1.Columns(e.ColumnIndex).Name == "ListPrice")
{
this.DataGridView1.Cursor = Cursors.Hand;
}
else
{
this.DataGridView1.Cursor = curAnterior;
}
}
//--

Espero que te sirva de ayuda.

Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"AT Baez" wrote:

Hola grupo, hacia algun tiempo que no venia por aqui. Un atento saludo a
todos,
Tengo la siguiente consulta:
En un datagridwiew como hago para que el cursor del raton cambie al pasar
el
mismo sobre "una determinada columna"?
Tengo lo siguiente para, por ejemplo obtener la direccion de una celda:
{
DataGridView dgrid = (DataGridView)sender; string msg >> String.Format("Row: {0}, Column: {1}",
dgrid.CurrentCell.RowIndex, dgrid.CurrentCell.ColumnIndex);
MessageBox.Show(msg, "Current Cell");
}
Pero esto solo me funciona en el evento click; en el "MouseHover" que es
el
que yo quiero me devuelve la celda seleccionada, pero NO aquella sobre la
cual ha pasado el raton.
Apreciaria vuestra ayuda por favor; muchas gracias de antemano,
Alberto



Respuesta Responder a este mensaje
#4 Luis Miguel Blanco
11/11/2007 - 14:37 | Informe spam
Hola Alberto

Pues me alegra mucho que mis comentarios te hayan podido ser de utilidad
tanto en esta como en pasadas ocasiones, y que además guardes esos trucos
como futura referencia ;-)

Espero poder seguir ayudando en tu hobby, porque lo cierto es que esto de la
programación "engancha" bastante 8-D

Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"AT Baez" wrote:

Muchas gracias Luis Miguel,
Para tu satisfacción te diré que no es la primera vez que me ayudas; en
relación con "datagridview" creo que esta es la segunda (también me has
contestado sobre otros temas) tengo tus comentarios y ejemplos en un archivo
de texto, donde pondré esta también.
De paso decirte que no soy programador profesional (mi oficio es
carpintero), solo programo a nivel "casero", como hobby.
Lo dicho, muchas gracias por tu tiempo,
Alberto
-

"Luis Miguel Blanco" wrote in
message news:
> Hola Alberto
>
> Puedes utilizar el evento CellMouseMove del DataGridView para cambiar el
> cursor cuando se posicione en una columna, de forma similar a como puedes
> ver
> en el siguiente bloque de código.
>
> //--
> private Cursor curAnterior = null;
> //
> private void DataGridView1_CellMouseMove(object sender,
> System.Windows.Forms.DataGridViewCellMouseEventArgs e)
> {
> if (this.DataGridView1.Columns(e.ColumnIndex).Name == "ListPrice")
> {
> this.DataGridView1.Cursor = Cursors.Hand;
> }
> else
> {
> this.DataGridView1.Cursor = curAnterior;
> }
> }
> //--
>
> Espero que te sirva de ayuda.
>
> Un saludo
> Luis Miguel Blanco
> http://www.dotnetmania.com
>
>
> "AT Baez" wrote:
>
>> Hola grupo, hacia algun tiempo que no venia por aqui. Un atento saludo a
>> todos,
>> Tengo la siguiente consulta:
>> En un datagridwiew como hago para que el cursor del raton cambie al pasar
>> el
>> mismo sobre "una determinada columna"?
>> Tengo lo siguiente para, por ejemplo obtener la direccion de una celda:
>> {
>> DataGridView dgrid = (DataGridView)sender; string msg > >> String.Format("Row: {0}, Column: {1}",
>> dgrid.CurrentCell.RowIndex, dgrid.CurrentCell.ColumnIndex);
>> MessageBox.Show(msg, "Current Cell");
>> }
>> Pero esto solo me funciona en el evento click; en el "MouseHover" que es
>> el
>> que yo quiero me devuelve la celda seleccionada, pero NO aquella sobre la
>> cual ha pasado el raton.
>> Apreciaria vuestra ayuda por favor; muchas gracias de antemano,
>> Alberto
>>
>>
>>



Respuesta Responder a este mensaje
#5 banty
11/11/2007 - 18:02 | Informe spam
"AT Baez" wrote in message
news:zAjZi.23068$
Hola grupo, hacia algun tiempo que no venia por aqui. Un atento saludo a
todos,
Tengo la siguiente consulta:
En un datagridwiew como hago para que el cursor del raton cambie al pasar
el mismo sobre "una determinada columna"?
Tengo lo siguiente para, por ejemplo obtener la direccion de una celda:
{
DataGridView dgrid = (DataGridView)sender; string msg =
String.Format("Row: {0}, Column: {1}",
dgrid.CurrentCell.RowIndex, dgrid.CurrentCell.ColumnIndex);
MessageBox.Show(msg, "Current Cell");
}
Pero esto solo me funciona en el evento click; en el "MouseHover" que es
el que yo quiero me devuelve la celda seleccionada, pero NO aquella sobre
la cual ha pasado el raton.
Apreciaria vuestra ayuda por favor; muchas gracias de antemano,
Alberto

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida