tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
9
ZUGRIFFE
5482
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    flasherMX flasherMX ist offline Mitglied Silber
    Registriert seit
    Oct 2003
    Beiträge
    72
    Hallo,

    ich hab folgendes PRoblem:

    Meine RichTextBox dient als Element für einen Chat. Nun soll, wenn der Text, den ich in das Element reinlade länger wird als die RTB ist, diese automatisch runterscrolled und mir den letzten Eintrag anzeigt.

    Wie geht das? (ScrollToCaret?!)

    mfg flasherMX
     
    Gehen tut alles, weiß nur meist net wie... 0o

    http://www.robert-koehler.com

  2. #2
    flasherMX flasherMX ist offline Mitglied Silber
    Registriert seit
    Oct 2003
    Beiträge
    72
    Hat sich erledigt...

    - erst focus auf Steuerelement
    - dann selectionStart

    bingo
     
    Gehen tut alles, weiß nur meist net wie... 0o

    http://www.robert-koehler.com

  3. #3
    Avatar von JJB
    JJB JJB ist offline Cogito ergo brumm
    Registriert seit
    Jan 2004
    Ort
    Stuttgart
    Beiträge
    261
    Wie genau lautet der Befehl (mit Syntax) zum Fokusieren auf das letzte Zeichen in der RTB ?

    Jemand eine Ahnung ?

    MfG JJB
    Geändert von JJB (17.06.04 um 14:53 Uhr)
     
    PS: Ja, ich habe gegoogelt und nein, ich will kein Viagra kaufen
    PPS: Tod allen verketteten Suchmaschinen

  4. #4
    Avatar von moson
    moson moson ist offline Mitglied Silber
    Registriert seit
    Feb 2004
    Beiträge
    80
    Ich brauche das bei einer TextBox, ist denke ich mal nicht viel anders.
    Wie meinste das mit dem "focus" ? Kannst ma Quellcode posten?
     

  5. #5
    Avatar von JJB
    JJB JJB ist offline Cogito ergo brumm
    Registriert seit
    Jan 2004
    Ort
    Stuttgart
    Beiträge
    261
    Wie kann ich bei einem Event XY oder per Befehl den Curosr ans ende der RTB setzen ? Da gibt's doch sicherlich einen Befehl, oder ?
     
    PS: Ja, ich habe gegoogelt und nein, ich will kein Viagra kaufen
    PPS: Tod allen verketteten Suchmaschinen

  6. #6
    Avatar von Swebble
    Swebble Swebble ist offline Mitglied Silber
    Registriert seit
    Mar 2004
    Ort
    Albstadt (BW)
    Beiträge
    73
    Ich würde einfach zählen wieviel Zeichen drinnen sind.
    Dann setzt man den Eingabefokus auf das Steuerelement, also die RTB oder die TB, und selektiert einfach den letzten Index. Also das Zeichen nach dem letzten Buchstaben. Ich such mal nach nem Codebeispiel....


    Ok ich hab was gefunden:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    private void HelpLexDialog_Load(object sender, System.EventArgs e)
    {
        if((path != null) && (path != ""))
        {
            this.oldPath.Text = path;
            this.oldPath.SelectionStart = path.Length;
        }
    }

    Der Code macht was ähnliches. Er setzt den Text der Textbox auf "path" und mit SelectionStart wird wie gesagt der Cursor ans Ende gesetzt, weil der Zeichenindex der TextBox 0-basiert ist.
     
    "Angels and ministers of grace defend us!"
    - Hamlet I,4 -

  7. #7
    Avatar von JJB
    JJB JJB ist offline Cogito ergo brumm
    Registriert seit
    Jan 2004
    Ort
    Stuttgart
    Beiträge
    261
    Das funktioniert nicht. Es passiert nichts. Gibt es denn keinen Befehl in C# der das einfach tut ?
    Manuelles setzen des Cursors wäre ja auch ok, aber das geht auch nicht.
     
    PS: Ja, ich habe gegoogelt und nein, ich will kein Viagra kaufen
    PPS: Tod allen verketteten Suchmaschinen

  8. #8
    Xo-mate Xo-mate ist offline Mitglied Gold
    Registriert seit
    Feb 2004
    Beiträge
    213
    Also der gode ist:
    Code :
    1
    2
    3
    
     textBox1.SelectionStart = textBox1.TextLength; 
                textBox1.Focus(); 
                textBox1.ScrollToCaret();

    Allerdings ist der Focus dannach auf der (rich)TextBox, was man ja aber wieder ändern kann....
    Geändert von Xo-mate (31.07.04 um 16:56 Uhr)
     

  9. #9
    Rippa_HD Rippa_HD ist offline Mitglied Bronze
    Registriert seit
    Feb 2004
    Beiträge
    44
    Die einzige Methode zum nach unten Scrollen ohne Focus is über Windows API

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    
    using System.Runtime.InteropServices;
     
    [...]
     
    //WinAPI-Deklaration für SendMessage
    [DllImport("user32.dll")]
    public static extern IntPtr SendMessage(
       IntPtr window, int message, int wparam, int lparam);
     
    //Was soll er machen
    const int WM_VSCROLL = 0x115;
    //Wohin soll er scrollen
    const int SB_BOTTOM = 7;
     
     
    private void button1_Click(object sender, System.EventArgs e)
    {
       for (int i = 0; i < 100; i++)
       {
         //Machen wir ein wenig Text rein
         richTextBox1.Text += "Hallo Welt ";
       }
       //Ans Ende scrollen, ohne Focus
       SendMessage(richTextBox1.Handle, WM_VSCROLL, SB_BOTTOM, 0);
    }

    Hab ich ausm Microsoft Forum. Ich habs nicht ausprobiert wenns nicht geht muss ich mal bei meinem eigenen code nachgucken ob die zahlen auch stimmen
     

  10. #10
    zarrandreas zarrandreas ist offline Mitglied Silber
    Registriert seit
    Apr 2005
    Beiträge
    50
    Hab ich ausm Microsoft Forum. Ich habs nicht ausprobiert wenns nicht geht muss ich mal bei meinem eigenen code nachgucken ob die zahlen auch stimmen
    Der Code habe ich ausprobiert funktioniert einmal frei, Danke an Rippa_HD
     

Ähnliche Themen

  1. Automatisches Scrollen beim Seitenwechsel
    Von Florian42 im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 06.04.10, 17:10
  2. SWT Tree - automatisches Scrollen
    Von SteffiS11 im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 1
    Letzter Beitrag: 19.10.05, 08:59
  3. automatisches Scrollen im ListView
    Von Andreas Witt im Forum .NET Archiv
    Antworten: 0
    Letzter Beitrag: 02.02.05, 09:07
  4. automatisches scrollen
    Von AndreBrueck im Forum .NET Archiv
    Antworten: 4
    Letzter Beitrag: 21.09.04, 08:41
  5. Automatisches scrollen in ner Textbox ************
    Von LinuxDau im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 07.01.03, 20:02