تقييم الموضوع :
  • 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 ستكون خلفية النافية , وليس الكنترول الذي خلفها.

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

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] كيفية التعديل علي firebase من خلال auth ميدو الفنان 2 316 12-06-22, 01:36 AM
آخر رد: أبو خالد الشكري
Question كيفية زيادة وانقاص الارقام العشرية في C# و VB.NET silverlord 4 315 29-05-22, 02:49 AM
آخر رد: silverlord
  كيفية استخدام autocomplete for textbox الماجيك مسعد 2 337 08-05-22, 09:31 PM
آخر رد: الماجيك مسعد
  [نقاش] كيفية تدوير الارصدة لفتح سنة مالية جديدة محمود بكرى 9 4,694 01-05-22, 12:17 AM
آخر رد: asemshahen5
  كيفية وضع الاعلانات فى المشروع saidhamed 1 319 26-04-22, 10:15 AM
آخر رد: عدنان الشمري
  كيفية اضافة اكتر من عمليه في وقت واحد او إلغاءها في حالة حدوث خطأ Emam emam 6 603 26-04-22, 04:03 AM
آخر رد: ابو محمد محمد محمد
Wink كيفية كتابة كود YAMENLY 5 814 26-04-22, 03:38 AM
آخر رد: YAMENLY
  [سؤال] كيفية استدعاء مشغل Vlc Hatem_Zahran 1 453 03-04-22, 12:33 AM
آخر رد: Taha Okla
  كيفية جعله يضغط على Enter بعد كتابة النص في ExecuteScript؟ mohmeed 0 384 20-03-22, 09:31 AM
آخر رد: mohmeed
  [VB.NET] كيفية تنفد كود من خلال زر في form ثانيه hafid33 4 771 11-03-22, 10:22 PM
آخر رد: hafid33

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


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