تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كيفية عمل كنترول شفاف
#1
السلام عليكم ورمضان كريم

ابحث على كود لعمل كنترول شفاف استعمله في برنامجي
المثال المرفق به طريقة لكن اجد صعوبة في الكود
المشكل بعد اضافة الكنترول فوق الادوات الاخرى يظهر اسفل الادوات
واريد اضافة تكست للكنترول
وكمثال اريد عمل مثال الي بالصورة


الملفات المرفقة
.rar   tronsparont.rar (الحجم : 205.42 ك ب / التحميلات : 38)
الرد }}}
تم الشكر بواسطة:
#2
وعليكم السلام 

كل Control لدية خاصية بإسم BackColor ضعها = Transparent

Control.BackColor = Color.Transparent


أيضاً يحتوي على أمرين
Control.BringToFront 
Control.SendToBack 

BringToFront 
ليصبح الـ Control في الأمام فوق جميع الـ Controls الأخرى ضمن نفس الحاوية أو الأب أقصد.

SendToBack 
ليصبح الـ Control في الخلف تحت جميع الـ Controls الأخرى ضمن نفس الحاوية.


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

   

   

   
 
   

   

   

   

   


.rar   tronsparont Label.rar (الحجم : 334.17 ك ب / التحميلات : 44)



بإمكانك إستخدام أي كنترول موجود وتعديل خصائصة أو الإضافة عليها 
أو حتى تغيير حركاتة وتصرفاتة واإستجاباتة كما تريد أنت
الرد }}}
تم الشكر بواسطة: سعود , viv
#3
الله يبارك فيك اخي الكريم
فعلا درس قيم الله مجعله لك في ميزان الحسنات
لكن اخي الكريم 
المشكل بعد اضافة الكنترول فوق الادوات الاخرى يظهر الفورم ولا تظهر الادات
 
الرد }}}
تم الشكر بواسطة:
#4
الشفافية لكي تتحقق تماما يجب التعامل مع الألوان و الصور في نفس الوقت
خاصة ان جميع الكونترول تحصل علي شفافيتها من الفورم نفسه
الكود التالي عبارة عن مثال بسيط يوضح كيفية الحصول غلي label شفاف بالتعامل مع الألوان فقط


PHP كود :
Imports System.ComponentModel

Public Class CairoLabel
    Inherits Label

    Private _opacity 
As Double 1

    Public Sub 
New()
 
       MyBase.SetStyle(ControlStyles.UserPaintTrue)
 
       MyBase.SetStyle(ControlStyles.ResizeRedrawTrue)
 
       MyBase.SetStyle(ControlStyles.SupportsTransparentBackColorTrue)
 
       MyBase.SetStyle(ControlStyles.AllPaintingInWmPaintTrue)
 
       MyBase.SetStyle(ControlStyles.OptimizedDoubleBufferTrue)
 
   End Sub

    
<Browsable(True), EditorBrowsable(EditorBrowsableState.Always), DefaultValue(1.0R), TypeConverter(GetType(OpacityConverter))>
 
   <RefreshProperties(RefreshProperties.All), Description("Gets or set the opacity percentage of the control."), Category("Cairo")>
 
   Public Overridable Property Opacity() As Double
        Get
            Return _opacity
        End Get
        Set
(value As Double)
 
           _opacity value
            Dim c 
As Color Me.BackColor
            Dim alpha 
As Byte CalcualteOpacity(value)
 
           Me.BackColor UpdateControlColor(calpha)
 
           Me.Invalidate()
 
       End Set
    End Property

    Protected Overrides Sub OnBackColorChanged
(As EventArgs)
 
       MyBase.OnBackColorChanged(e)
 
       Dim c As Color Me.BackColor
        Dim alpha 
As Byte CalcualteOpacity(_opacity)
 
       Me.BackColor UpdateControlColor(calpha)
 
       Me.Invalidate()
 
   End Sub

    Private 
Function UpdateControlColor(source As Coloralpha As Byte) As Color
        alpha 
Byte.MaxValue alpha
        Return Color
.FromArgb(CInt((- (alpha Byte.MaxValue)) * Byte.MaxValue), source)
 
   End Function

 
   Private Function CalcualteOpacity(value As Double) As Byte
        Return CByte
((If(value 11, If(value 00value))) * 255)
 
   End Function

End Class 
Retired
الرد }}}
تم الشكر بواسطة: سعود , viv , viv
#5
أكيد bidaya 
هذا ليس فوتوشوب
هذا فيجوال ستيديو

لا يوجد مبرمج سيجعل الأدوات كما فعلت بها انت
الـ Label من هو الكنترول الذي يحتوية ؟ هل هي النافذة ؟ إذن خلفية الـ Label ستكون خلفية النافية , وليس الكنترول الذي خلفها.

أنا لا اقول أن الذي تريدة مستحيل , لكن يحتاج إلى إجراءات أكثر , السؤال ؟ هل أنت مضطر لإظهار الكنترول الذي خلفة كخلفية للكنترول الذي أمامة؟
الرد }}}
تم الشكر بواسطة:
#6
(01-06-18, 03:09 AM)عبدالله الدوسري كتب : أكيد bidaya 
هذا ليس فوتوشوب
هذا فيجوال ستيديو

لا يوجد مبرمج سيجعل الأدوات كما فعلت بها انت
الـ Label من هو الكنترول الذي يحتوية ؟ هل هي النافذة ؟ إذن خلفية الـ Label ستكون خلفية النافية , وليس الكنترول الذي خلفها.

أنا لا اقول أن الذي تريدة مستحيل , لكن يحتاج إلى إجراءات أكثر , السؤال ؟ هل أنت مضطر لإظهار الكنترول الذي خلفة كخلفية للكنترول الذي أمامة؟

اكيد اخي الكريم 
في المثال الذي ارفقته في مشاركتي الاولى الكنترول شفاف ينقصه التكست فقط والحواف تكون بالشكل الذي عملته انت
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  كيفية منع ظهور الأخطاء من إعدادات البيسيك mmaalmesry 2 848 29-08-25, 10:30 AM
آخر رد: mmaalmesry
  كيفية جلب أسماء الأعمدة بجدول من جداول sql heem1986 2 745 17-08-25, 09:15 PM
آخر رد: heem1986
  كيفية حفظ إعدادات البرنامج بحيث لا تتغير أحمد إبراهيم سعد 4 3,001 06-08-25, 06:34 PM
آخر رد: Taha Okla
  مساعدة في كيفية ترحيل البيانات من داتا قريدفيو إلى داتا قريدفيو في فيجوال بيسك ahmedfa71 13 2,221 09-07-25, 11:24 PM
آخر رد: أبو خالد الشكري
  كيفية احتساب الفرق بين تاريخين بناء على عدد معين مصمم هاوي 2 551 15-01-25, 02:02 PM
آخر رد: مصمم هاوي
  كيفية التعامل مع inputbox في فيجوال ستوديو أسامة حسين 4 3,500 14-01-25, 02:04 AM
آخر رد: أبو خالد الشكري
  كيفية معرفة الجهاز رئيسي ام فرعي المتألق9 1 394 13-11-24, 06:41 PM
آخر رد: justforit
  كيفية معرفة تاريخ انشاء ملف وحدفه المتألق9 2 504 07-11-24, 08:54 AM
آخر رد: F.H.M
  كيفية جلب بيانات بشرط الأستبعاد heem1986 1 334 28-08-24, 10:06 PM
آخر رد: justforit
  سؤال عن كيفية حفظ التغير في الداتا قريد فيو في قاعدة الببانات saud1004 4 523 20-06-24, 12:48 PM
آخر رد: saud1004

التنقل السريع :


يقوم بقرائة الموضوع: