منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : تغيير لون الخط في النص الذي يظهر كتعليمة من الاداة ToolTip
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته

كيف اغير لون الخط والخلفية للنص الذي اريده ان ايظهر في اي اداة من خلال

الاداة ToolTip
كود :
Dim tp As New ToolTip


        tp.BackColor = Color.Green
        tp.ForeColor = Color.White
يعطيك العافية
الف شكر اخي العزيز لكن لم يتغيير لون الخط ولا الخلفية

من خلال النص الذي يظهر بعد وضح الماوس على الادوات

مثلا لدي اداة Button واريد عند وضع الماوس علية يظهر نص كدليل الذي تقوم به الاداة ToolTip جميل
اريد النص الذي يظهر هو ما يتغير به لون الخط ولون خلفيته

ودمتم
جرب هذا الكود
ضعه في حدث Form_Load
هذا الكود سيجعل الرسالة للزر باللون البيج والخلفية سوداء - أي عكس الألوان
كود :
Dim toolTip1 As New ToolTip()
        toolTip1.ForeColor = Color.Beige
        toolTip1.BackColor = Color.Black
        toolTip1.SetToolTip(Me.Button1, "My button1")
لم يتغيير شي معي
انا بعمل على فيجوال 2008

ووندوز 7

قمت بأنشاء مشروع جديد ووضعت به Button1 and ToolTip1

ووضعت الكود الذي بالمشاركة 5
في حدث Form_Load

ولم يتغيير شي معي
كلامك صحيح قمت بتجربة الكود على ويندوز 7 وفعلا لم يعمل وقمت بإلغاء سمات ويندوز Xp من خيارات البرنامج فعمل الكود لكن منظر البرنامج كان سيئا
أيضاً جربته علي ويندوز xp ويعمل جيداً ... يبدوا أن المشكلة في ويندوز 7

علي العموم جرب هذا الحل من منتديات مايكروسوفت :

http://social.msdn.microsoft.com/Forums/...9f8ce200a8
أخي الكريم وجدت الحل
اتبع هذه الخطوات
أولا
من حصائص الأداة ToolTip1
قم بتغيير القيمة للخاصية OwnerDraw إلى True
ثانيا قم بإضافة هذا الكود

كود :
Private Sub ToolTip1_Draw(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DrawToolTipEventArgs) Handles ToolTip1.Draw
        Dim t As ToolTip = CType(sender, ToolTip)
        Using backBrush As Brush = New SolidBrush(t.BackColor)
            e.Graphics.FillRectangle(backBrush, e.Bounds)
        End Using
        Using textBrush As Brush = New SolidBrush(t.ForeColor)
            Using sf As StringFormat = New StringFormat
                sf.Alignment = StringAlignment.Center
                sf.LineAlignment = StringAlignment.Center
                e.Graphics.DrawString(e.ToolTipText, Me.Font, textBrush, e.Bounds, sf)
            End Using
        End Using
    End Sub

وإذا أردت أن تختصر الكود

كود :
Private Sub ToolTip1_Draw(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DrawToolTipEventArgs) Handles ToolTip1.Draw
        Dim backBrush As Brush = New SolidBrush(sender.BackColor)
        e.Graphics.FillRectangle(backBrush, e.Bounds)
        Dim textBrush As Brush = New SolidBrush(sender.ForeColor)
        Dim sf As StringFormat = New StringFormat
        sf.Alignment = StringAlignment.Center
        sf.LineAlignment = StringAlignment.Center
        e.Graphics.DrawString(e.ToolTipText, Me.Font, textBrush, e.Bounds, sf)
    End Sub
الآن قم بتغيير الألوان كما يحلو لك من خلال خصائص الأداة وسيعمل بإذن الله