تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
dark form
#7
أضف الكلاس التالي الي مشروعك
وهو سيعمل بمثابة DarkForm
أنا فقط أعطيته اسما أخر هو BlendForm

PHP كود :
Public Class BlendForm
    Inherits Form

    Public Sub 
New(rect As RectanglecolorBack As Coloralpha As Byte)
 
       MyBase.StartPosition FormStartPosition.Manual
        MyBase
.FormBorderStyle FormBorderStyle.None
        MyBase
.TopLevel True
        MyBase
.TopMost True
        MyBase
.ShowInTaskbar False
        MyBase
.ShowIcon False
        MyBase
.BackColor colorBack
        Me
.DoubleBuffered True
        Me
.Opacity GetOpacity(alphaMyBase.BackColor)
 
       Me.Bounds rect
    End Sub

    Friend 
Function GetOpacity(sca As BytesourceColor As Color) As Double
        sca 
Byte.MaxValue sca
        Dim dest 
As Color Color.FromArgb(CInt((- (sca Byte.MaxValue)) * Byte.MaxValue), sourceColor)
 
       Return CDbl(CByte(If(dest.255255, If(dest.00dest.A))) / Byte.MaxValue)
 
   End Function

End Class 

الكود التالي يوضح لك كيفية حساب مكان الفورم الرئيسي علي شاشة الكمبيوتر
ومن ثم نقوم بإظهار BlendForm فوقه تماما


PHP كود :
Public Class Form1

    Private blend 
As BlendForm

    Private Sub Form1_Load
(sender As ObjectAs EventArgsHandles MyBase.Load
        ShowBlendForm
()
 
   End Sub

    Private Sub ShowBlendForm
()
 
       Dim rect As Rectangle GetWindowBounds(Me.Bounds)
 
       rect.rect.+ (SystemInformation.FrameBorderSize.Width)
 
       rect.Width rect.Width - (SystemInformation.FrameBorderSize.Width)
 
       rect.Height rect.Height - (SystemInformation.FrameBorderSize.Height)
 
       Dim alpha As Byte 128
        Dim blendColor 
As Color Color.Blue
        blend 
= New BlendForm(rectblendColoralpha)
 
       blend.Show()
 
   End Sub

    Friend 
Function GetWindowBounds(ByRef rect As Rectangle) As Rectangle
        Dim scrBounds 
As Rectangle SystemInformation.VirtualScreen
        Dim topleft 
As Point = New Point(Math.Max(rect.LeftscrBounds.X), Math.Max(rect.TopscrBounds.Y))
 
       Dim bottomRight As Point = New Point(Math.Min(rect.RightscrBounds.scrBounds.Width), Math.Min(rect.BottomscrBounds.scrBounds.Height))
 
       rect.Location topleft
        rect
.Height Math.Abs(bottomRight.rect.Top)
 
       rect.Width Math.Abs(bottomRight.rect.Left)
 
       Return rect
    End 
Function


End Class 
ملحوظة أخيرة
الفورم غالبا يرسم نفسه بطرق مختلفة حسب نظام التشغيل 
مثلا الحسابات اعلاه صالحة للويندوز 10 بشرظ أن الفورم الرئيسي يكون Sizable
و غالبا إن الأفضل أنك تستغني عن الأسطر التالية من الكود
والموجودة في الروتين ShowBlendForm
PHP كود :
       rect.rect.+ (SystemInformation.FrameBorderSize.Width)
 
       rect.Width rect.Width - (SystemInformation.FrameBorderSize.Width)
 
       rect.Height rect.Height - (SystemInformation.FrameBorderSize.Height
Retired
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
dark form - بواسطة محمد اسماعيل - 29-11-17, 04:01 PM
RE: dark form - بواسطة silverlight - 29-11-17, 05:54 PM
RE: dark form - بواسطة ﻣﺒﺘﺪﺉ - 30-11-17, 03:31 PM
RE: dark form - بواسطة محمد اسماعيل - 30-11-17, 04:36 PM
RE: dark form - بواسطة ﻣﺒﺘﺪﺉ - 01-12-17, 12:42 AM
RE: dark form - بواسطة silverlight - 01-12-17, 10:47 AM
RE: dark form - بواسطة محمد اسماعيل - 01-12-17, 01:02 PM
RE: dark form - بواسطة HASAN6.0 - 01-12-17, 02:53 PM
RE: dark form - بواسطة silverlight - 01-12-17, 03:01 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Question ممكن كود تغيير حجم Form بالكود الورد الصناعي 2 449 13-08-24, 10:10 AM
آخر رد: الورد الصناعي
  [VB.NET] حفظ الفورم (Form) (البرنامج) بعد التغيير visualist2015 8 7,140 12-04-24, 04:07 AM
آخر رد: أبو جودة
  [VB.NET] مساعدة في استدعاء البيانات معينه من form الأول إلى form 2 بدون التعديل loay775 2 592 18-01-24, 05:04 PM
آخر رد: loay775
  [سؤال] ظهور form ثم form ديف اكسبريس ahmed_king2023 0 624 07-06-23, 06:44 PM
آخر رد: ahmed_king2023
  [VB.NET] سؤال حول Hardware infrastructure windows form ahmed_king2023 1 603 24-05-23, 09:05 AM
آخر رد: عبدالله الدوسري
  تغير خلفية form aymen_libya 6 1,543 24-08-22, 10:23 PM
آخر رد: Taha Okla
  [VB.NET] كيفية تنفد كود من خلال زر في form ثانيه hafid33 4 1,839 11-03-22, 10:22 PM
آخر رد: hafid33
  [VB.NET] مشكلة لم استطع اضافة print form للفيجوال 2019 ولا 2022 bilgacim 2 1,724 12-02-22, 04:49 AM
آخر رد: bilgacim
  [VB.NET] ترجمة ال form وتكبيره متعارض بسبب controls ابو ياسين ويزن 0 961 24-12-21, 10:31 PM
آخر رد: ابو ياسين ويزن
  توسيط form محمود صالح 1 1,138 23-12-21, 02:38 AM
آخر رد: اسامه الهرماوي

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


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