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

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


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

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

Control.BackColor = Color.Transparent


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

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

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


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

   

   

   
 
   

   

   

   

   


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



بإمكانك إستخدام أي كنترول موجود وتعديل خصائصة أو الإضافة عليها 
أو حتى تغيير حركاتة وتصرفاتة واإستجاباتة كما تريد أنت
الرد }}}
تم الشكر بواسطة: سعود , 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 ستكون خلفية النافية , وليس الكنترول الذي خلفها.

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

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  كيفية جمع أرقام عمود فى الداتا جريد فيو بناءاً على بيانات معينة heem1986 5 223 25-02-24, 11:26 PM
آخر رد: heem1986
  كيفية تنفيذ امر عند التعليم على checkbox بالداتا جريد فيو heem1986 2 158 21-02-24, 01:37 AM
آخر رد: heem1986
  كيفية انشاء سكريبت لقاعدة بيانات من خلال الكود heem1986 1 193 20-02-24, 12:00 AM
آخر رد: Kamil
  كيفية تنفيذ أمر عرض بيانات من فورم ثان مصمم هاوي 7 329 19-02-24, 12:28 AM
آخر رد: مصمم هاوي
  كيفية حفظ وتحزيم المشروع وتشغيله كبرنامج علىجميع الاجهزة الرائد 3 1,123 18-02-24, 10:37 PM
آخر رد: الحزين اليماني
  [سؤال] كيفية انشاء فورم داخل مشروعى عاصم النجار 2 304 05-01-24, 12:36 AM
آخر رد: HALIM ELEULMA
  [سؤال] كيفية ربط ماكينة الدفع ببرنامج الكاشير ؟ osamaelmaghraby 3 323 26-12-23, 11:53 PM
آخر رد: osamaelmaghraby
  كيفية رسم بيان دالة رياضية؟ الخير19 6 415 23-12-23, 03:36 PM
آخر رد: الخير19
  [سؤال] كيفية تشغيل ملف باتش دون ظهور "نافذةالـ Consol "؟ AmeenRashed 9 673 14-12-23, 12:07 PM
آخر رد: asmarsou
  كيفية جعل من كتاب فيه هوامش ونص (قاعدة بيانات وواجهة فيجوال مثل الشاملة) ابو امجد 1 1,605 10-12-23, 12:53 PM
آخر رد: محمد بن عطية

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم