تمت الإجابة استفسار بخصوص الفورم دائما في المقدمة

تم تحميل الصفحة في 0,1061489 ثانية
استفسار بخصوص الفورم دائما في المقدمة
إنضم
16 مايو 2012
المشاركات
241
الإعجابات
109
النقاط
43
سلام إخواني

بخصوص جعل الفورم في المقدمة
أريد منكم أحد الأفكار لكي يشتغل الفورم دائما في المقدمة مهما حدث و مهما كان
بحيث لا يأخد منه أحد البرامج الخارجية التركيز

أريد أن أنوه أن كود me.TopMost = True غير شغال حتى بعد وضعه في التايمر
طبعا يشتغل في غالب الأحيان لكن عند حدوت Refresh للبرناج الخارجي فإنه يختفي يصبح وراه

الغريب في الأمر أن بحث في غوغل كثيرا ووجدت هذا المشكل عند الكثير سواء في المواقع العربية أو الأجنبية
و أنا كنت أستخدم كود رائع في الفيجوال بيسك 6 و شغال فوق جميع البرامج
حتى التي تستخدم الفلاش و الألعاب و ActiveX
هاذا هو الكود
هل يوجد مقابل له في VB.NET

 

Ahmed Al'jabari

إداري أقسام البرمجة
rankrankrankrank
إنضم
24 يونيو 2017
المشاركات
1,413
الإعجابات
1,108
النقاط
123
الإقامة
Turkey
كود:
 <DllImport("user32.dll")>
    Private Shared Function SetForegroundWindow(ByVal hWnd As IntPtr) As Boolean
    End Function
    Private Sub settopmost()
        Dim processes As Process() = Process.GetProcesses()
        For Each process In processes
            If process.ProcessName = "اسم البرنامج مثل Exeinfo" Then
                Dim handle As IntPtr = process.MainWindowHandle
                Dim topMost As Boolean = SetForegroundWindow(handle)
            End If
        Next
    End Sub
 

⭐⭐⭐⭐⭐

مُميّز نُقطة لُغات البرمجة للعام 2019
rankrank
إنضم
28 يناير 2019
المشاركات
202
الإعجابات
221
النقاط
43
كود:
    Const HWND_TOPMOST = -1
    Const HWND_NOTOPMOST = -2
    Const SWP_NOSIZE = &H1
    Const SWP_NOMOVE = &H2
    Const SWP_NOACTIVATE = &H10
    Const SWP_SHOWWINDOW = &H40
    <Runtime.InteropServices.DllImport("user32.dll", SetLastError:=True)>
    Private Shared Function SetWindowPos(ByVal hWnd As IntPtr, ByVal hWndInsertAfter As IntPtr, ByVal X As Integer, ByVal Y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal uFlags As UInteger) As Boolean
    End Function
    
    
    
    SetWindowPos(Me.Handle, HWND_TOPMOST, Me.Left / 15, Me.Top / 15, Me.Width / 15, Me.Height / 15, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE)
 

ماهر بعيونه

موقوف لمخالفة الشروط
rank
إنضم
11 يونيو 2019
المشاركات
3
الإعجابات
0
النقاط
1
العمر
90
الإقامة
على راس الروافض الشيعة
كود:
 <DllImport("user32.dll")>
    Private Shared Function SetForegroundWindow(ByVal hWnd As IntPtr) As Boolean
    End Function
    Private Sub settopmost()
        Dim processes As Process() = Process.GetProcesses()
        For Each process In processes
            If process.ProcessName = "اسم البرنامج مثل Exeinfo" Then
                Dim handle As IntPtr = process.MainWindowHandle
                Dim topMost As Boolean = SetForegroundWindow(handle)
            End If
        Next
    End Sub
كوكل بيشتكي منك ومن كتر ماتنسخ منه اكواد
 

Ahmed Al'jabari

إداري أقسام البرمجة
rankrankrankrank
إنضم
24 يونيو 2017
المشاركات
1,413
الإعجابات
1,108
النقاط
123
الإقامة
Turkey
التعديل الأخير:

Ahmed Al'jabari

إداري أقسام البرمجة
rankrankrankrank
إنضم
24 يونيو 2017
المشاركات
1,413
الإعجابات
1,108
النقاط
123
الإقامة
Turkey
أخي Ahmed Al'jabari شكرا جزيلا لك
لقد إشتغل معي تعديل الأخ @⭐⭐⭐⭐⭐

من باب الإستفادة أخي
ممكن أعرف أين أضع الكود الذي منحتني
وضعته هكاذا ولم يشتغل
فقط ضع اسم الفكشن settopmost()
في الButton وعندما تضغط البوتون سيعمل فوكس لبرنامجك ويضهر في مقدمة البرامج
 

Ahmed Al'jabari

إداري أقسام البرمجة
rankrankrankrank
إنضم
24 يونيو 2017
المشاركات
1,413
الإعجابات
1,108
النقاط
123
الإقامة
Turkey
إنضم
16 مايو 2012
المشاركات
241
الإعجابات
109
النقاط
43
شكرا أخي أحمد كثيرا
إشتغل الكود رغم أنه يسبب التشنج للنوافذ الأخرى عند تحريكها
كما أنه لم يستطع الصعود فوق Gestionneire des taches

 

الأعضاء النشطين حاليآ الذين يشاهدون هذا الموضوع (1 عضو و 0 ضيف)

خيارات الاستايل

نوع الخط
مودك
اخفاء السايدر بار OFF
توسيط المنتدى OFF
فصل الأقسام OFF
الأقسام الفرعية OFF
عرض المشاركات
حجم الخط
معلومات العضو OFF
إخفاء التوقيع OFF

إرجاع خيارات الإستايل