امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
راهنمایی در مورد tool tip تکست باکس
نویسنده پیام
drc0de آفلاین
تازه وارد

ارسال‌ها: 3
موضوع‌ها: 2
تاریخ عضویت: خرداد ۱۳۹۹

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #1
راهنمایی در مورد tool tip تکست باکس
سلام
حالت عادی وقتی نشانگر موس روی تکست باکس میبریم tooltip برای زمان کمی نمایش داده میشه ولی
میخوام تا موقعی که فوکوس روی تکست باکس هست و داریم داخل تکست باکس تایپ میکنیم tooltip نمایش داده بشه...
ایا راهی هست؟
۰۳-تير-۱۳۹۹, ۱۰:۴۲:۳۰
ارسال‌ها
پاسخ
drc0de آفلاین
تازه وارد

ارسال‌ها: 3
موضوع‌ها: 2
تاریخ عضویت: خرداد ۱۳۹۹

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #2
RE: راهنمایی در مورد tool tip تکست باکس
کسی نیست راهنمایی کنه؟
۰۵-تير-۱۳۹۹, ۱۲:۲۰:۴۷
ارسال‌ها
پاسخ
nImaarek آفلاین
badtrip
****

ارسال‌ها: 143
موضوع‌ها: 60
تاریخ عضویت: مهر ۱۳۸۹

تشکرها : 307
( 314 تشکر در 108 ارسال )
ارسال: #3
RE: راهنمایی در مورد tool tip تکست باکس
سلام، بابت تاخیر متاسفم؛
یادمه داخل Visual Basic میشد خیلی راحت برای هر Event پاسخ نوشت (Responding to Mouse and Keyboard Events)، در نتیجه نسخت لازم است Event های مورد نیازمان را پیدا کنیم. در مسیر زیر تمامی Event های پشتیبانی شده توسط vb (به ترتیب حروف الفبا) در سایت msdn قرار دارند:
Visual Studio -> Visual Basic 6.0 -> Resource Center -> Product Documentation -> Reference -> Language Reference -> Events
Event هایی که برای این کار میتوانیم از آنها استفاده کنیم عبارتند از:
Click Event (رویداد کلیک کردن)
The MouseDown OR MouseUp Event (شبیه رویداد بالایی است)
The EnterFocus AND GotFocus Event (رویداد فوکوس شبیه انتخاب شدن کردن)
حالا باید برای هرکدام از Event های بالا تعریف کنیم که، زمانی که هر کدام از Events های TextBox Control رخ دهد، شما ToolTip Control بسازی یا اگر از قبل ساخته شده است آن را فراخوانی کنید و حتما در ToolTip Property (خصوصیات ToolTip) گزینه ای باشه که مقدار TimeOut تعیین کرد.

متاسفانه vb ندارم که بررسی کنم اما با جست و جوی عبارت "show tooltip when focused visual basic" به این چند تکه کد برخوردم؛

مثال اول - توضیح (لینک) :
نقل قول: The Enter and Leave events are probably useful here, and show it with a duration of 0 to keep it there
Note: Calling the Show(...) method twice like in my example will force the "pointer" to point correctly to the control

مثال اول - کد :
کد:
private ToolTip tt;

private void textBox1_Enter(object sender, EventArgs e) {
 tt = new ToolTip();
 tt.InitialDelay = 0;
 tt.IsBalloon = true;
 tt.Show(string.Empty, textBox1);
 tt.Show("I need help", textBox1, 0);
}

private void textBox1_Leave(object sender, EventArgs e) {
 tt.Dispose();
}

مثال دوم - توضیح (لینک) :
نقل قول: tooltip is a control, needs to be added from toolbox

مثال دوم - کد :
کد:
private void textbox_Enter(object sender, EventArgs e)
{
 toolTip1.Show("your tip here", textbox);
}

private void textbox_Leave(object sender, EventArgs e)
{
 toolTip1.Hide(textbox);
}



پیوست؛ من تازه متوجه مشکل شدم و راستش دلم نیومد توضیحات قبلی و پاک کنم  024
اینطوری که من متوجه شدم قضیه اینکه وقتی ToolTip نمایش داده میشود و کاربر شروع به تایپ کردن میکند، ToolTip محو میشود. درسته؟  خنده بلد − بهینه شده برای ورژن جدید
خب دو تا راه حل است؛ اولیش اینطوریه که با استفاده از Event های مربوط به کیبورد مثل KeyPressKeyDownKeyUp و یا Change استفاده کنیم و در پاسخ هر بار ToolTip نمایش دهیم.

نمونه کد:
کد:
Private Sub Form_Load()
 'Initialization tooltip
 With Me.txtToolTip
   .Visible = False
   .Appearance = 0
   .BackColor = &H80000018
 End With

 Text1.ToolTipText = "Hey this is Text1!"
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
 showtoolTip Text1
End Sub

Private Sub Text1_GotFocus()
 showtoolTip Text1
End Sub

Private Sub showtoolTip(pTB As TextBox)
 With Me.txtToolTip
   .Height = Me.TextHeight(pTB.ToolTipText)
   .Width = Me.TextWidth(pTB.ToolTipText) + 100
   .Left = pTB.Left
   .Top = pTB.Top + pTB.Height
   .Text = pTB.ToolTipText
   .ZOrder
   .Visible = True
 End With
End Sub

Private Sub Text1_LostFocus()
 Me.txtToolTip.Visible = False
End Sub

راه حل دوم؛ دو تا TextBox میسازی (به نام های مثلا علی و رضا) که اندازه TextBox اولی (علی) بزرگتر از TextBox دومی (رضا) باشه بعد TextBox رضا میزاری روی TextBox علی (که بزرگتره) جوری که یه خورده از TextBox علی معلوم باشه؛ اونوقت TextBox علی از فرم (Form) برنامه Hide کن؛ بعدش وقتی Event های مربوط به انتخاب، فوکوس و شروع تایپ کردن فراخوانی شد با تابع SetCursorPos مکان موس و تغییر بده به جایی که TextBox علی از پشت رضا زده بیرون و معلوم باشه.

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them

Tell me, what you think about me
Give anonymous feedback
(آخرین ویرایش در این ارسال: ۰۷-تير-۱۳۹۹, ۰۵:۵۶:۴۱، توسط nImaarek.)
۰۷-تير-۱۳۹۹, ۰۵:۵۴:۰۵
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : hadikh73


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  تکست باکس عددی و جدا کننده سه رقمی drc0de 0 110 ۲۷-خرداد-۱۳۹۹, ۱۲:۴۲:۰۸
آخرین ارسال: drc0de
  [فوری] کد یافتن عدد در تکست باکس yashar_2006 5 3,140 ۲۷-بهمن-۱۳۹۶, ۰۲:۲۴:۱۵
آخرین ارسال: yashar_2006
  سه فیلتر در نمایس لیست باکس yashar_2006 1 2,146 ۲۱-تير-۱۳۹۶, ۱۶:۲۳:۳۴
آخرین ارسال: yashar_2006
  نیاز به راهنمایی درباره ارسال اطلاعات reza2010wf 2 2,996 ۲۶-شهریور-۱۳۹۴, ۱۱:۵۸:۰۷
آخرین ارسال: Ghoghnus
  [سوال] کنترل مقدار نوع داده که از تکس باکس فرم دریافت می شود eppagh 2 2,592 ۰۲-مرداد-۱۳۹۴, ۱۰:۵۴:۰۰
آخرین ارسال: Ghoghnus
Shy [فوری] خواندن فایل تکست و تبدیل آن به فایل اکسل توسط CommandButton ahmadelectron 1 2,678 ۰۵-خرداد-۱۳۹۴, ۱۶:۵۲:۲۷
آخرین ارسال: Ghoghnus
  نمایش آخرین خط تکت باکس mahdi321 2 2,551 ۱۷-مرداد-۱۳۹۳, ۱۸:۵۳:۴۴
آخرین ارسال: Vb6Moderator
  جستجو مقدار مورد نظر در Cellهای رنج تعریف شده و دریافت نشانی Cellهای آن eppagh 9 5,465 ۱۲-مرداد-۱۳۹۳, ۰۹:۵۴:۰۳
آخرین ارسال: eppagh
  باکس alitoropche 2 2,058 ۲۱-اردیبهشت-۱۳۹۳, ۲۲:۴۵:۱۱
آخرین ارسال: alitoropche
  غير فعال کردن مسيج باکس در وب بروزر mehdirani 1 1,938 ۲۳-اسفند-۱۳۹۲, ۲۰:۲۵:۰۴
آخرین ارسال: babyy

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS