PDA

View Full Version : سوال: رفتن Scroll به انتهای در Righ TextBox



nader.golab
پنج شنبه 05 خرداد 1390, 18:54 عصر
سلام دوستان
من می خوام وقتی در Righ TextBox چیزی تایپ می شه اسکرول من به پایین صفحه بره و چیزایی رو که تایپ کردم رو ببینم.اما متاسفا نه باید با موس کاربر اسکرول رو به انتها برده و متن رو نمایش بده.

دقیقا مثل یاهو مسنجر رفتار کنه.
ممنون

alimanam
جمعه 06 خرداد 1390, 00:02 صبح
با سلام

جواب ساده است ( البته خیلی ها تا حالا بهش توجه نکرده بودن و برای همچین کار ساده ایی دست به دامن توابع API ویندوز میشدن ! :قهقهه: )

Private Sub RichTextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles RichTextBox1.KeyPress
RichTextBox1.AppendText("")
End Sub

موفق باشید ./

nader.golab
شنبه 07 خرداد 1390, 01:11 صبح
با سلام

جواب ساده است ( البته خیلی ها تا حالا بهش توجه نکرده بودن و برای همچین کار ساده ایی دست به دامن توابع API ویندوز میشدن ! :قهقهه: )

Private Sub RichTextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles RichTextBox1.KeyPress
RichTextBox1.AppendText("")
End Sub

موفق باشید ./

سلام و خسته باشید.ممنون
این کارو کردم اما نشد و Scroll همچنان در جای خود باقی می مونه وقتی متنی اضافه می شه.

من برنامم مثل یاهو مسنجر هستش. داری یک Texbox و یک button و یک Rich Textbox که در داخل textbox متنی نوشته می شه و با زدن button متن به داخل Rich Textbox انتقال داده می شه و scroll این Rich Texbox باید به انتها بره و آخرین نوشته ای که اضافه شده رو نشون بده.

اما نمی شه.نمی دونم چی کار کنم.

alimanam
شنبه 07 خرداد 1390, 01:44 صبح
با سلام

دوست عزیز شما حرفاتون ضدونقیض هست اول میگی می خوام وقتی در کنترل RichTextBox چیزی تایپ میشه سکرول عمودی به پایین انتقال پیدا کنه حالا میگی میخوام وقتی رو دکمه کلیک کردم این اتفاق بیافته ! این ها با هم دیگه تفاوت دارن . به هر حال بازم جواب شما ساده است در رخداد کلیک اون دکمه این کد رو بنویس :

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' اول متن رو بفرست به کنترل بعد کدهای زیر باعث میشه که سکرول به پایین ترین سطح خودش بره
RichTextBox1.SelectionStart = RichTextBox1.Text.Length
RichTextBox1.ScrollToCaret()
End Sub

موفق باشید ./

nader.golab
شنبه 07 خرداد 1390, 10:52 صبح
با سلام

دوست عزیز شما حرفاتون ضدونقیض هست اول میگی می خوام وقتی در کنترل RichTextBox چیزی تایپ میشه سکرول عمودی به پایین انتقال پیدا کنه حالا میگی میخوام وقتی رو دکمه کلیک کردم این اتفاق بیافته ! این ها با هم دیگه تفاوت دارن . به هر حال بازم جواب شما ساده است در رخداد کلیک اون دکمه این کد رو بنویس :

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' اول متن رو بفرست به کنترل بعد کدهای زیر باعث میشه که سکرول به پایین ترین سطح خودش بره
RichTextBox1.SelectionStart = RichTextBox1.Text.Length
RichTextBox1.ScrollToCaret()
End Sub

موفق باشید ./

آقا من فدای تو بشم.ببخشید.منظورمو بد گفتم.عزر خواهی می کنم.
مشکلم حل شد.
اما یه سوال دیگه.ببخشید.
من می خوام مثل یاهو مسنجر وقتی پیامی رو می فرستم.ای دیم رنگی و Bold باشد.اما بلد نیستم. می تونین راهنماییم کنین.