PDA

View Full Version : سوال: scroll textbox multiline اسکرول کردن به انتهای تکتس باکس مالتی لاین



MehdiElexal
پنج شنبه 12 دی 1392, 21:06 عصر
با سلام خدمت دوستان
چطور تکتس باکسی که مالتی لاین هست و داده داخلش ریخته میشه اسکرول همیشه پایین باشه و آخرین داده را نمایش بده ؟
با تشکر از همه :)

maythamahmadi
پنج شنبه 12 دی 1392, 21:10 عصر
خوب میتونی تو خاصیت text_change جوری کد نویسی کنی که طول کاراکترها رو بگیره و بره به آخرین کاراکتر.

MehdiElexal
پنج شنبه 12 دی 1392, 21:20 عصر
خوب میتونی تو خاصیت text_change جوری کد نویسی کنی که طول کاراکترها رو بگیره و بره به آخرین کاراکتر.
راه ساده تری هم هست قبلا انجام دادم با دستورات خود اسکرول بود منتها الان هرچی فکر میکنم یادم نمیاد و نیاز به این کاره سختی که شما میگی نیست :)

MehdiElexal
پنج شنبه 12 دی 1392, 21:25 عصر
منظورم این بود
TxtAll.SelectionStart = TxtAll.Text.Length;
TxtAll.ScrollToCaret();
:لبخندساده:

parsag72
پنج شنبه 12 دی 1392, 21:42 عصر
سلام 2 تا راه داری
روش اول که خیلی هم سادس به جای
textBox1.Text += ("Parsa\r\n");
از
textBox1.AppendText("Parsa\r\n");

روش دوم

با همون روش
textBox1.Text += ("Parsa\r\n");
تکست باکس پر کن بعد SelectionStart تکستباکس برابر طول رشته داخل تکست باکس قرار بده (مکان نما میره آخر متنت)
بعد تابع این تابع textBox1.ScrollToCaret() رو اجرا کن تکست باکس Scroll میشه به جایی که مکان نمات هست!
for (int i = 0; i < 1000; i++)
{
textBox1.Text += ("Parsa\r\n");
}
textBox1.SelectionStart = textBox1.Text.Length;
textBox1.ScrollToCaret();
(این روش وقتی به درد میخوره که بخای به فسمت خاصصی از متنت اسکرول کنی وگرنه واسه اسکرول کردن به آخر تکست باکس تابع قبلی هم تایپش کمتره هم سریعتر اجرا میشه)