En este grupo En todos

Grupo de .NET y C



Click derecho en DataGridViewer

Melesio
Ing en computacion universidad de guad...
Escrito por Melesio Salas
el 27/01/2009 | Nivel Medio

Hola a todos:

Tengo la necesidad de desplegar un menú con click derecho en un DataGridViewer, como los menus de windows donde aparece, copiar, pegar, cortar, etc. Y claro tambien de desplegarlo tener el control sobre las opciones que aparecen!
Espero me puedan orientar sobre este tema ya que por ahora no tengo idea de como realizarlo

Gracias
mElE...

Willisney García Santos
Tecnologìa en sistemas de informaación...
Escrito por Willisney García Santos
el 05/02/2009 | Nivel Medio

HOLA!

Yo creo que puedo ayudarte, hace poco hice algo similar.

Pimero debes agregar de la ficha Menús y barras de herramientas un control ContextMenuStrip al formulario que contiene el DataGridViewer, luego al DataGridViewer en la propiedad ContextMenuStrip seleccionas el MenuStrip que acabas de agregar, con eso ya tienes un menu contextual anexo al control.

Para tener control sobre las opciones que aparecen lo puedes hacer por medio del evento del DataGridViewer llamado MouseDown, te paso un codigo:


Private void grd_MouseDown(object sender, MouseEventArgs e)

{

if (e. Button == MouseButtons. Right)

{

DataGridView. HitTestInfo Hitest = this.grdUsuarios.HitTest(e. X, e. Y);

if (Hitest. Type == DataGridViewHitTestType. Cell)

{

grdUsuarios. CurrentCell = grdUsuarios. Rows[Hitest. RowIndex]. Cells[Hitest. ColumnIndex];

}

}

}


Espero te sirva de algo.

Estoy atento a tus inquietudes. Willisneyg@hotmail. Com

Escrito por Max Salazar
el 10/02/2009 | Nivel Medio

Puedes crear el menu via codigo tambien...

// 1. - primero definir variable para menu

ContextMenuStrip cmsOpciones;

// 2. - En el contructor : Inicializas el menu

public frmFormulario()

{
InitializeComponent();

This


. CmsOpciones = new ContextMenuStrip ( this . Components);

this . CmsOpciones. Name = "contextMenuStrip1" ;

this . CmsOpcionesi. Size = new System. Drawing. Size (61, 4);

}

// 3. - Asociar elementos al menu principal en el evento load del formulario


private void frmFormulario_Load( object sender, EventArgs e)

{

// SUB MENU 1

ToolStripMenuItem


subMenu1= new ToolStripMenuItem ( "Detalles de Universidad" );

SubMenu1. Tag =

"Detalles_Universidad" ;

SubMenu1. Name =

"Detalles_Universidad" ;

SubMenu1. Click +=

new EventHandler (boton1_Click);

cmsOpciones.Items.Add(subMenu1);

// SUB MENU 2

ToolStripMenuItem subMenu2= new ToolStripMenuItem ( "Generar Formatos Excel correo" );

SubMenu2. Tag =

"Anexo01" ;

SubMenu2. Name =

"Anexo01" ;

SubMenu2. Click +=

new EventHandler (boton2_Click);

cmsOpciones.Items.Add(subMenu2);



}

// 4. - llamas al menu desde tu grid en el evento Mouse down

private void GridMantenimiento_MouseDown( object sender, MouseEventArgs e)

{

if (e. Button == MouseButtons . Right)

{

this . CmsOpcionesUni. Show(MousePosition. X, MousePosition. Y);
}

}

// ojo que debes tener en tu formulario los eventos boton1_Click, boton2_Click....

espero te ayude...
Atte: Max salazar.