منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] هل يوجد طريقة لجعل البرنامج يظهر فوق جميع البرامج - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] هل يوجد طريقة لجعل البرنامج يظهر فوق جميع البرامج (/showthread.php?tid=44201)



هل يوجد طريقة لجعل البرنامج يظهر فوق جميع البرامج - mohamedahmed1 - 30-10-22

السلام عليكم ورحمة الله وبركاته

هل يوجد طريقة لجعل البرنامج يظهر فوق جميع البرامج المفتوحة حتي اقوم انا باغلاقه بنفسي ؟

فعلت خاصية TopMost لكنها احيانا تعمل واحيانا لا تعمل



RE: هل يوجد طريقة لجعل البرنامج يظهر فوق جميع البرامج - asmarsou - 31-10-22

(30-10-22, 08:21 PM)mohamedahmed1 كتب :
السلام عليكم ورحمة الله وبركاته

هل يوجد طريقة لجعل البرنامج يظهر فوق جميع البرامج المفتوحة حتي اقوم انا باغلاقه بنفسي ؟

فعلت خاصية TopMost لكنها احيانا تعمل واحيانا لا تعمل

و عليكم السلام و رحمة الله و بركاته
لك فعل ذلك برمجبا باضافة هذا السطر في حدث فورم لوود
PHP كود :
Me.TopMost true 
و اذا  اردت الغاء تلك الخاصية بتغيير   true الى false اما باضفة زر وحيد فقط لالغاء الخاصية او 2 من اداة التشك بوكس واحدة للتفغيل و الاخرى لخلافها
اذا لم ينفع ذلك الامر كله فغليك بتايمر يغني عن كل ذلك
و المثال يغني عن عشرات الاسطر من الشرح
المثال مرفق


RE: هل يوجد طريقة لجعل البرنامج يظهر فوق جميع البرامج - Taha Okla - 31-10-22

وعليكم السلام ورحمة الله وبركاته

نفس كود الأخ المميز (asmarsou) الموجود في المشروع  مع تعديل بسيط بدون (Timer) و فقط بإستخدام (CheckBox) واحد فقط ..
كود :
Imports System.Runtime.InteropServices

Public Class Form1

   <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 UInt32) As Boolean
   End Function

   ReadOnly HWND_TOPMOST As New IntPtr(-1)
   ReadOnly HWND_NoTOPMOST As New IntPtr(-2)

   Shared ReadOnly SWP_NOSIZE As UInt32 = Convert.ToUInt32(&H1)
   Shared ReadOnly SWP_NOMOVE As UInt32 = Convert.ToUInt32(&H2)


   Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
       If CheckBox1.Checked = True Then
           SetWindowPos(Me.Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)
       Else
           SetWindowPos(Me.Handle, HWND_NoTOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)
       End If
   End Sub
End Class



RE: هل يوجد طريقة لجعل البرنامج يظهر فوق جميع البرامج - mohamedahmed1 - 31-10-22

بارك الله فيكم, شكرا جزيلا لكم تم المطلوب