Navigation dans datagrid et objet herite

Résolu
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 - 27 juil. 2004 à 14:42
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 - 27 juil. 2004 à 17:36
Voila mon Xeme pb du jour est de créer un objet herite des datagrid avec certaines fonctions notament qd l'utilisateur sur une colonne de mon datagrid je selectionne la ligne complete (code récupérer ici : http://www.syncfusion.com/FAQ/WinForms/FAQ_c44c.asp#q689q )

ca marche nickel...par contre je voudrais que lorsque l'utilisateur appuie sur les touches fleches haut, bas, droite, gauche la selection se fasse aussi sur la ligne complete et pas de colonne en colonne, comme c'est le cas par défaut...

voila deja le debut de mon code de mon objet :

using System;
using System.Windows.Forms;
using System.Drawing;
using System.ComponentModel ;
using System.Data;

namespace Tools
{
/// <summary>
/// Description résumée de dg_Liste.
/// </summary>
[ ToolboxBitmap(@"P:\DotNet\Tools\Images\Provider.ico")]
public class dg_Liste : DataGrid 
{
#region Constructeur

/// <summary>
/// Constructeur de la classe dg_Liste
/// </summary>
public dg_Liste()
{
//Definition des fonts
Font Font_Text = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
Font Font_CaptionText = new Font("Arial", 12F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
Font Font_Header = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));

//Affichage de la datagrid
this.ReadOnly = true;
this.Size = new System.Drawing.Size(472, 272);

//CaptionTEXTE
this.CaptionBackColor = Color.MediumBlue ;
this.CaptionForeColor = Color.Gold ;
this.CaptionFont = Font_CaptionText;
//Texte
this.Font = Font_Text;

//Header
this.RowHeadersVisible = false;
this.ColumnHeadersVisible = false ;
this.HeaderForeColor = System.Drawing.SystemColors.ControlText;
this.HeaderFont = Font_Header;

//Gestion des evenements
this.MouseUp +=new MouseEventHandler(dg_Liste_MouseUp);
}

#endregion

#region Sélection sur le Datagrid

private void dg_Liste_MouseUp(object sender, MouseEventArgs e)
{
//Lors d'un clique sélectionne la ligne entière
Point pt = new Point(e.X, e.Y); 
DataGrid.HitTestInfo hti = this.HitTest(pt); 

if(hti.Type == DataGrid.HitTestType.Cell) 
{ 
this.CurrentCell = new DataGridCell(hti.Row, hti.Column); 
this.Select(hti.Row); 
} 
}

#endregion

}
}


Arthenius

"Ce qui ne me tue pas, me rend plus fort..."

2 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
27 juil. 2004 à 16:01
je pense que tu peux faire ça avec
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{if (keyData Keys.Up || keyData Keys.Down )
{
// code de gestion
return true;
}
else
return base.ProcessCmdKey (ref msg, keyData);
}


Cocoricoooooooo !!!!
3
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
27 juil. 2004 à 17:36
ca roule :o)))

merci...

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
0
Rejoignez-nous