begin process at 2010 02 09 15:34:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C#

 > 

Archives

 > 

Au secours

 > 

récupérer la ligne courante


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

récupérer la ligne courante

vendredi 31 mars 2006 à 22:42:11 | récupérer la ligne courante

keisuke

Membre Club
Salut a tous, Je voudrais, faire une chose dont j'ai déja recherché sur le site, s'il y avait des solutions, mais comme je suis débutant, j'aimerais, que l'on me piste, ou que l'on m'aide. alors, est-ce que quelqu'un sait comment récupérer la ligne courante dans une textbox ? car j'ai trouvé sur le site pour une richtextbox, mais c'est pour une textbox, que je voudrais. alors, merci d'avance @+
vendredi 31 mars 2006 à 23:54:02 | Re : récupérer la ligne courante

hlayachi

Membre Club
bonjour
il y a la propriété Text, c'est ici que ce trouve ta ligne
mais à mes connaissance, un textBox n'a qu'une seule ligne.
vendredi 31 mars 2006 à 23:59:33 | Re : récupérer la ligne courante

keisuke

Membre Club
oui, mais j'ai oublié de préciser, que j'uilisais, la textbox en multiligne.
samedi 1 avril 2006 à 01:04:09 | Re : récupérer la ligne courante

hlayachi

Membre Club
est ce que tu peux préciser encore?
moi j'ai cheché dans toutes les propriétés de Text mais je n'ai pas trouvé. je propose que tu utilise un listBox au lieu de textBox
samedi 1 avril 2006 à 05:04:36 | Re : récupérer la ligne courante

Lutinore

Administrateur CodeS-SourceS

Salut,




class MyTextBox : TextBox
{
    [ System.Runtime.InteropServices.DllImport( "User32.dll" ) ]
    private static extern IntPtr SendMessage( IntPtr hWnd, uint msg, IntPtr wParam, IntPtr lParam );

    private const int EM_LINEFROMCHAR = 0x00C9;

    // ATTENTION Index de base 0, donc ligne1 = 0, ligne2 = 1 ect..
    // Retourne la ligne qui contient le caret ( le curseur du clavier ).
    // ou la ligne qui contient la séléction.
    public int GetLineFromCaret( )
    {
        return ( int )SendMessage( this.Handle, EM_LINEFROMCHAR, ( IntPtr )( -1 ), IntPtr.Zero );
    }

    public int GetLastLine( )
    {
        return this.Lines.Length - 1; // Index de base 0.
    }
}

// exemple d'utilisation :

MessageBox.Show( tb.Lines[ tb.GetLineFromCaret( ) ] );
MessageBox.Show( tb.Lines[ tb.GetLastLine( ) ] );

samedi 1 avril 2006 à 13:35:12 | Re : récupérer la ligne courante

dgouttegattat

Membre Club

Salut keisuke,

Si tu utilises le .NET framework 2.0, la classe TextBoxBase (dont hérite TextBox) expose une méthode GetLineFromCharIndex(int), qui renvoie le numéro de la ligne contenant le caractère dont l'index est donné en paramètre. Donc tu peux faire ceci:

int cursorPosition = myTextBox.SelectionStart;
int lineNumber = myTextBox.GetLineFromCharIndex(cursorPosition);


Si tu utilises une version précédente, essayes l'idée de Lutinore ou... change de version.

dimanche 2 avril 2006 à 14:32:20 | Re : récupérer la ligne courante

keisuke

Membre Club
je vous remercie, je n'est pas réussi avec l'idée de Lutinore, qui doit sans aucun doute fonctionner, mais comme je suis débutant je n'est pas tous compris, surement. Je pense que je vais me mettre avec la version .net2
Merci a vous.

@+

The Takahashi Keisuke
dimanche 2 avril 2006 à 18:14:13 | Re : récupérer la ligne courante

Lutinore

Administrateur CodeS-SourceS

Passer à .NET 2.0 est une bonne idée de toute façon. Si tu veux tester ma version, il faut donc pas que tu utilises une TextBox mais la nouvelle version que je t'ai fournie.

Un exemple d'utilisation :

public Form1( ) // Constructeur de la forme
{
    InitializeComponent( );

    MyTextBox tb = new MyTextBox( );
    tb.Name = "tb";
    tb.Multiline = true;
    tb.Dock = DockStyle.Fill;
    tb.Text = "Ligne1\r\nLigne2\r\nLigne3\r\n";

    Button b = new Button( );
    b.Name = "b";
    b.Dock = DockStyle.Bottom;
    b.Text = "GetLineFromCaret";
    b.Click += new EventHandler( Button_Click );

    this.Controls.AddRange( new Control[ ] { tb, b } );
}

private void  Button_Click( object sd, EventArgs e )
{
    MyTextBox tb = ( MyTextBox )this.Controls[ "tb" ];
    MessageBox.Show( tb.Lines[ tb.GetLineFromCaret( ) ] );
}



Cette discussion est classée dans : textbox, ligne, récupérer, site, courante


Répondre à ce message

Sujets en rapport avec ce message

Ligne courante, RichTextBox et couleur de fond... [ par bigflo93 ] Salut à tous...Voila, j'ai une richTextBox, et je voudrais changer la couleur de fond de la ligne où se trouve le curseur.Mais juste la couleur de fon saut de ligne TextBox [ par duron800 ] Coucou,Comment faire un saut de ligne dans un textBox (Multiline) en C#...?Deja testé chr(13), chr(10) ,vbcrln, \0, \nHELP ME!Mr CShopMr CShop Nouvelle ligne dans une form [ par gdupasqu ] Bonjour,j'ai crée un textbox dans un form dans laquelle je veux écrire. J'ai donc crée un objet TextBox puis j'ajoute du text. J'aimerais pouvoir alle récupérer des infos sur un site [ par trezegol ] Bonjour,je voudrais faire un web service qui retourne des informations sur un site web donné à partir de son adresse IP un peu ccomme le fait ce site Form1 et form 2 [ par paloxicide ] comment récupérer la valeur de mon textbox du formulaire précédent sachant que je travaille en MDICAD je suis sur form1 je rentre une valeur dans dans ecrire dans des textbox d'un site web.. [ par yomgui_95 ] lu tlm,en fait j\'ai un site internet ou pour rentrer dans sur des pages d admin je rentre un pass et login et klik sur ok, et je voudrai \"automatise Passer d'un champs à l'autre dans un datagrid [ par thefxp17 ] Bonjour, J'ai un dataGrid ou sur chaque ligne il y a une textbox, je voudrait que a chque fois que l'utilisateur saisie sa donnée apres qu'il a appuyé Comment récupérer les propriétés d'une fenetre et d'un textbox [ par Lepripri ] Bonjour,je souhaiterai savoir comment faire pour récupérer toutes sortes d'informations sur une fenetre (taille, position, nom, ...) et aussi sur un t Récupérer le texte tapé par l'utilisateur dans un textbox [ par Tupac59 ] Voila ne rigolez pas je suis débutant mais je ne sais pas comment récupérer dans une variable le texte saisi dans un textbox.Merci Comment Parcourir une listbox [ par BOUDDINE ] bonjour tout le mondevoici mon problemej'ai une listbox remplie par des données .ce que je veux c'est de parcourir cette listbox ligne par ligneet de


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales