الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كود وسؤال بخصوص NotifyICOn

مغلق
بدأه محمد سامر أبو سلو في 20 أغسطس 2005 · 19 رد · 2,642 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

ولكن نلاحظ أن بعض البرامج تظهر رسائل من خلالها على شكل بالون أصفر يحتوي المعلومات كالصورة التالية

20_08_05_12_50_57_1124524257_1.JPG

استطعت عمل ذلك باستدعاءات ويندوز API بالطريقة التالية

في بداية الملف نستخدام الاستيراد

Imports System.Runtime.InteropServices

في قسم الاعلانات العامة في الـ From نضع الكود التالي

    Public Result As Boolean
    <StructLayout(LayoutKind.Sequential)> _
    Public Structure NOTIFYICONDATA
        Dim cbSize As Int32
        Dim hwnd As IntPtr
        Dim uID As Int32
        Dim uFlags As Int32
        Dim uCallbackMessage As IntPtr
        Dim hIcon As IntPtr
        <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=128)> Dim szTip As String
        Dim dwState As Int32
        Dim dwStateMask As Int32
        <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=256)> Dim szInfo As String
        Dim uVersion As Int32
        <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=64)> Dim szInfoTitle As String
        Dim dwInfoFlags As Int32
    End Structure
    Public Const NIF_MESSAGE As Int32 = &H1
    Public Const NIF_ICON As Int32 = &H2
    Public Const NIF_STATE As Int32 = &H8
    Public Const NIF_INFO As Int32 = &H10
    Public Const NIF_TIP As Int32 = &H4
    Public Const NIM_ADD As Int32 = &H0
    Public Const NIM_MODIFY As Int32 = &H1
    Public Const NIM_DELETE As Int32 = &H2
    Public Const NIM_SETVERSION As Int32 = &H4
    Public Const NOTIFYICON_VERSION As Int32 = &H5
    Public Const NIS_HIDDEN = &H1
    Public Const NIS_SHAREDICON = &H2
    Public Const NIIF_ERROR = &H3
    Public Const NIIF_INFO = &H1
    Public Const NIIF_NONE = &H0
    Public Const NIIF_WARNING = &H2
    Public Const NIM_SETFOCUS = &H4
    Public Const NIIF_GUID = &H5
    Public Declare Function Shell_NotifyIcon Lib "shell32.dll" _
    Alias "Shell_NotifyIconA" (ByVal dwMessage As Int32, _
    ByRef lpData As NOTIFYICONDATA) As Boolean
    Public uNIF As NOTIFYICONDATA

في حدث Load الخاص بالـ From نضع الكود التالي

        With uNIF
            .cbSize = Marshal.SizeOf(uNIF)
            .hwnd = Me.Handle
            .uID = 0
            .dwInfoFlags = NIF_ICON Or NIF_MESSAGE
            .uCallbackMessage = New IntPtr(&H500)
            .uVersion = NOTIFYICON_VERSION
            .hIcon = Me.Icon.Handle
        End With
        Result = Shell_NotifyIcon(NIM_ADD, uNIF)
        '// Send a balloon message 
        With uNIF
            .uFlags = NIF_INFO
            .uVersion = 2000
            .szInfoTitle = "Test"
            .szInfo = "Testing 1,2,3 Testing"
            .dwInfoFlags = NIIF_INFO
        End With
        Result = Shell_NotifyIcon(NIM_MODIFY, uNIF)
    End Sub

ثم شغل البرنامج وستظهر لك النتيجة كما في الصورة أعلاه

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#2

ولكن ظهرت لدي مشكلة في الكود وهي مهما حاولت لاتظهر أيقونة للبرنامج وإنما تظهر مساحة فارغة

20_08_05_12_50_57_1124524257_1.JPG

وسؤالي هنا بخصوص الكود:

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

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#3

حتى الآن لم أستطع حل المشكلة المذكورة في مشاركة #2

هل من مساعدة؟

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#4

اعتقد ان الموضوع ده بيكون سببه النظام نفسه لانها حصلت معايا قبل ده

واما عملت نسخه جديده رجعت الايقونه ظهرت

والله اعلم

سبحان الله وبحمده سبحان الله العظيم

لا اله الا الله محمدا رسول الله

اللهم اغفر للمسلمين والمسلمات والمؤمنين والمؤمنات الاحياء منهم والاموات

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

حمل كريستال ريبورت 10 اربعه اصدارات

ww12kz.jpg

hashad.jpg

#5

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

أخواني أعتقد أن الحل موجود في pscode في التعليقات المرفقه بالكود

أحوكم عمرو عيسي

#6

في مجال توضح أخ R0OT

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#7

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

أخي هذا هو الرد ولكن لم أدرس الكود جيدا لضيق الوقت

Imports System.Runtime.InteropServices
Imports System
Imports System.Resources
Imports System.IO
Public Class BalloonTip

#Region "Private Message handler Class"
    Private Class MessageHandler
        Inherits Form '//Inherite from Form class so we can receive events

        <DllImport("User32", CharSet:=CharSet.Auto)> _
        Private Shared Function RegisterWindowMessage(ByVal lpString As String) As Int32
        End Function

        Private Const WM_USER As Integer = &H400
        Private Const WM_USER_TRAY As Integer = WM_USER + 1
        Private Const WM_MOUSEMOVE = &H200
        Private Const WM_LBUTTONDOWN = &H201
        Private Const WM_LBUTTONUP = &H202
        Private Const WM_LBUTTONDBLCLK = &H203
        Private Const WM_RBUTTONDOWN = &H204
        Private Const WM_RBUTTONUP = &H205
        Private Const WM_RBUTTONDBLCLK = &H206
        Private Const WM_MBUTTONDOWN = &H207
        Private Const WM_MBUTTONUP = &H208
        Private Const WM_MBUTTONDBLCLK = &H209

        Private Const NIN_BALLOONSHOW As Int32 = &H402
        Private Const NIN_BALLOONHIDE As Int32 = &H403
        Private Const NIN_BALLOONTIMEOUT As Int32 = &H404
        Private Const NIN_BALLOONUSERCLICK As Int32 = &H405

        Public Shadows Event Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Public Shadows Event DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs)
        Public Shadows Event MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        Public Shadows Event MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        Public Shadows Event MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        Public Event Reload()
        Public Event BalloonShow(ByVal sender As Object)
        Public Event BalloonHide(ByVal sender As Object)
        Public Event BalloonTimeout(ByVal sender As Object)
        Public Event BalloonClick(ByVal sender As Object)

        Private WM_TASKBARCREATED As Int32 = RegisterWindowMessage("TaskbarCreated")

        Public Sub New()
            ShowInTaskbar = False
            StartPosition = FormStartPosition.Manual
            Me.FormBorderStyle = FormBorderStyle.FixedToolWindow
            Size = New Size(100, 100)
            Location = New Point(-500, -500)
            Show()
        End Sub

        Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
            Select Case m.Msg
                Case WM_USER_TRAY
                    Select Case m.LParam.ToInt32
                        Case WM_LBUTTONDBLCLK, WM_RBUTTONDBLCLK, WM_MBUTTONDBLCLK
                            RaiseEvent DoubleClick(Me, New MouseEventArgs(MouseButtons, 0, MousePosition.X, MousePosition.Y, 0))
                        Case WM_LBUTTONDOWN, WM_RBUTTONDOWN, WM_MBUTTONDOWN
                            RaiseEvent MouseDown(Me, New MouseEventArgs(MouseButtons, 0, MousePosition.X, MousePosition.Y, 0))
                        Case WM_MOUSEMOVE
                            RaiseEvent MouseMove(Me, New MouseEventArgs(MouseButtons, 0, MousePosition.X, MousePosition.Y, 0))
                        Case WM_LBUTTONUP
                            RaiseEvent MouseUp(Me, New MouseEventArgs(MouseButtons.Left, 0, MousePosition.X, MousePosition.Y, 0))
                            RaiseEvent Click(Me, New MouseEventArgs(MouseButtons.Left, 0, MousePosition.X, MousePosition.Y, 0))
                        Case WM_RBUTTONUP
                            RaiseEvent MouseUp(Me, New MouseEventArgs(MouseButtons.Right, 0, MousePosition.X, MousePosition.Y, 0))
                            RaiseEvent Click(Me, New MouseEventArgs(MouseButtons.Right, 0, MousePosition.X, MousePosition.Y, 0))
                        Case WM_MBUTTONUP
                            RaiseEvent MouseUp(Me, New MouseEventArgs(MouseButtons.Middle, 0, MousePosition.X, MousePosition.Y, 0))
                            RaiseEvent Click(Me, New MouseEventArgs(MouseButtons.Middle, 0, MousePosition.X, MousePosition.Y, 0))
                        Case NIN_BALLOONSHOW
                            RaiseEvent BalloonShow(Me)
                        Case NIN_BALLOONHIDE
                            RaiseEvent BalloonHide(Me)
                        Case NIN_BALLOONTIMEOUT
                            RaiseEvent BalloonTimeout(Me)
                        Case NIN_BALLOONUSERCLICK
                            RaiseEvent BalloonClick(Me)
                        Case Else
                            Debug.WriteLine(m.LParam.ToInt32)
                    End Select
                Case WM_TASKBARCREATED
                    RaiseEvent Reload()
                Case Else
            End Select
            MyBase.WndProc(m)
        End Sub
    End Class
#End Region

    Private Result As Boolean

    <StructLayout(LayoutKind.Sequential)> Private Structure NOTIFYICONDATA
        Dim cbSize As Int32
        Dim hwnd As IntPtr
        Dim uID As Int32
        Dim uFlags As Int32
        'Dim uCallbackMessage As IntPtr
        Dim uCallbackMessage As Int32
        Dim hIcon As IntPtr
        <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=128)> Dim szTip As String
        Dim dwState As Int32
        Dim dwStateMask As Int32
        <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=256)> Dim szInfo As String
        Dim uVersion As Int32
        <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=64)> Dim szInfoTitle As String
        Dim dwInfoFlags As Int32
    End Structure

    Const NIF_MESSAGE As Int32 = &H1
    Const NIF_ICON As Int32 = &H2
    Const NIF_STATE As Int32 = &H8
    Const NIF_INFO As Int32 = &H10
    Const NIF_TIP As Int32 = &H4
    Const NIM_ADD As Int32 = &H0
    Const NIM_MODIFY As Int32 = &H1
    Const NIM_DELETE As Int32 = &H2
    Const NIM_SETVERSION As Int32 = &H4
    Const NOTIFYICON_VERSION As Int32 = &H5
    Const NIS_HIDDEN = &H1
    Const NIS_SHAREDICON = &H2

    Const NIIF_ERROR = &H3
    Const NIIF_INFO = &H1
    Const NIIF_NONE = &H0
    Const NIIF_WARNING = &H2

    Const NIM_SETFOCUS = &H4
    Const NIIF_GUID = &H5
    Const WM_USER = &H400
    Const WM_USER_TRAY = WM_USER + 1

    Private Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" ( _
        ByVal dwMessage As Int32, _
        ByRef lpData As NOTIFYICONDATA) As Boolean

    Private uNIF As NOTIFYICONDATA

    Public Enum enumSoundType
        SOUND_FROMSYSTEM = 1
        SOUND_FROMRESOURCE = 2
        SOUND_FROMFILE = 3
    End Enum

    Public Enum enumIconType
        ICON_NONE = NIIF_NONE
        ICON_INFO = NIIF_INFO
        ICON_WARNING = NIIF_WARNING
        ICON_ERROR = NIIF_ERROR
    End Enum

#Region "Event declarations of tray icon"
    Public Event Click(ByVal sender As Object, ByVal e As System.EventArgs)
    Public Event DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs)
    Public Event MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
    Public Event MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
    Public Event MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
    Public Event BalloonShow(ByVal sender As Object)
    Public Event BalloonHide(ByVal sender As Object)
    Public Event BalloonTimeout(ByVal sender As Object)
    Public Event BalloonClick(ByVal sender As Object)
#End Region

    Private WithEvents Messages As MessageHandler = New MessageHandler

    Private m_ContextMenu As ContextMenu '//Assign Contex menu
    Private m_VisibleBeforeBalloon As Boolean
    Private m_Visible As Boolean
    Private m_Icon As System.Drawing.Icon '//Icon which will appear in system tray

    Public Sub New()
        With uNIF
            .hwnd = Messages.Handle '//Message object will receive all events
            .cbSize = Marshal.SizeOf(GetType(NOTIFYICONDATA))
            .uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
            .uCallbackMessage = WM_USER_TRAY
            .uVersion = NOTIFYICON_VERSION
            .szTip = ""
            .uID = 0
        End With
    End Sub
    Protected Overrides Sub Finalize()
        Visible = False
        MyBase.Finalize()
    End Sub

    Public Property Icon() As System.Drawing.Icon
        Get
            Return m_Icon
        End Get
        Set(ByVal Value As System.Drawing.Icon)
            m_Icon = Value
            uNIF.uFlags = uNIF.uFlags Or NIF_ICON
            uNIF.hIcon = Icon.Handle
            If Visible Then
                Shell_NotifyIcon(NIM_MODIFY, uNIF)
            End If
        End Set
    End Property

    Public Property Text() As String
        Get
            Return uNIF.szTip
        End Get
        Set(ByVal Value As String)
            uNIF.szTip = Value
            If Visible Then
                uNIF.uFlags = uNIF.uFlags Or NIF_TIP
                Shell_NotifyIcon(NIM_MODIFY, uNIF)
            End If
        End Set
    End Property
    Public Property ContextMenu() As System.Windows.Forms.ContextMenu
        Get
            Return m_ContextMenu
        End Get
        Set(ByVal Value As System.Windows.Forms.ContextMenu)
            m_ContextMenu = Value
        End Set
    End Property

    Public Property Visible() As Boolean
        Get
            Return m_Visible
        End Get
        Set(ByVal Value As Boolean)
            m_Visible = Value
            If m_Visible Then
                Shell_NotifyIcon(NIM_ADD, uNIF)
            Else
                Shell_NotifyIcon(NIM_DELETE, uNIF)
            End If
        End Set
    End Property
    Public Sub ShowNotifyBalloonTip(Optional ByVal Text As String = "Message", _
            Optional ByVal Title As String = "Title", _
            Optional ByVal Icon As enumIconType = enumIconType.ICON_INFO, _
            Optional ByVal Timeout As Integer = 2000)

        m_VisibleBeforeBalloon = m_Visible
        With uNIF
            .uFlags = .uFlags Or NIF_INFO
            .uVersion = Timeout
            .szInfo = Text
            .szInfoTitle = Title
            .dwInfoFlags = Convert.ToInt32(Icon)
        End With

        If Not Visible Then
            '//By changing Visble Property it will show icon in sys tray
            Visible = True
        Else
            '//This will modify attributes if already visible
            Shell_NotifyIcon(NIM_MODIFY, uNIF)
        End If

        '//After showing balloon tip again switch to standard tooltip
        uNIF.uFlags = uNIF.uFlags And Not NIF_INFO
    End Sub

    Private Shadows Sub Messages_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Messages.Click
        RaiseEvent Click(Me, e)
    End Sub

    Private Shadows Sub Messages_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Messages.DoubleClick
        RaiseEvent DoubleClick(Me, e)
    End Sub

    Private Shadows Sub Messages_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Messages.MouseDown
        RaiseEvent MouseDown(Me, e)
    End Sub

    Private Shadows Sub Messages_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Messages.MouseMove
        RaiseEvent MouseMove(Me, e)
    End Sub

    Private Shadows Sub Messages_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Messages.MouseUp
        RaiseEvent MouseUp(Me, e)

        If e.Button = MouseButtons.Right Then
            Messages.Activate()
            Dim Position As Point = New Point(Cursor.Position.X - Messages.PointToScreen(New Point(0, 0)).X, Cursor.Position.Y - Messages.PointToScreen(New Point(0, 0)).Y)
            If Not m_ContextMenu Is Nothing Then m_ContextMenu.Show(Messages, Position)
        End If
    End Sub

    Private Sub Messages_Reload() Handles Messages.Reload
        If Visible Then Visible = True
    End Sub

    Private Sub Messages_BalloonShow(ByVal sender As Object) Handles Messages.BalloonShow
        RaiseEvent BalloonShow(Me)
    End Sub

    Private Sub Messages_BalloonHide(ByVal sender As Object) Handles Messages.BalloonHide
        RaiseEvent BalloonHide(Me)
    End Sub

    Private Sub Messages_BalloonTimeout(ByVal sender As Object) Handles Messages.BalloonTimeout
        If Not m_VisibleBeforeBalloon Then Visible = False
        RaiseEvent BalloonTimeout(Me)
    End Sub

    Private Sub Messages_BalloonClick(ByVal sender As Object) Handles Messages.BalloonClick
        If Not m_VisibleBeforeBalloon Then Visible = False
        RaiseEvent BalloonClick(Me)
        Clicked()
    End Sub
    Public Sub Clicked()

    End Sub
End Class
#8

أخوك عمرو عيسي

#9

شكرا لك أخ عمرو عيسي

منجرب الكود

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#10

شكرا لك أخ عمرو عيسي

فعلا الكود شغال 100%

وهي المثال الذي جربت عليه بالمرفقات

WindowsApplication3.zip

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#11

نتائج التجريب

فعلا الكود شغال تمام 100%

وهي في المرفقات المثال الذي قمت بتجربته

WindowsApplication3.zip

WindowsApplication3.zip

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#12

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

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

أخوكم عمرو عيسي

#13

و أعتقد ان الأختلاف في

.hIcon = Me.Icon.Handle

تم تعديل هذه المشاركة بواسطة R0OT في 30 أغسطس 2005 في 05:59

#14

الكود رغم انه طويل شويه

الا ان النتيجه رائعه

سبحان الله وبحمده سبحان الله العظيم

لا اله الا الله محمدا رسول الله

اللهم اغفر للمسلمين والمسلمات والمؤمنين والمؤمنات الاحياء منهم والاموات

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

حمل كريستال ريبورت 10 اربعه اصدارات

ww12kz.jpg

hashad.jpg

#15

أثناء التجريب اكتشفت مشكلة أخرى

وقت عم تظهر الرسالة بالبالون رغم أنك محدد timeout على 2000 ميللي ثانية فالبالون لايختفي تلقائيا إلا بعد حوالي دقيقتين ومهما غيرت الـ timeout عم تضل المشكلة ذات نفسها

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#16

شكراً ،، موضوع أكثر من رائع ،،

ولكن للزيادة يمكنك أيضاً إنشاء قائمة تظهر عند النقر بالزر الأيمن على الأيقونة وتضيف بها خيارات كثيرة ومنها إعادة تكبير البرنامج أو إغلاقه أو عن المبرمج .. إلخ .

#17

شكراً ،، موضوع أكثر من رائع ،،

ولكن للزيادة يمكنك أيضاً إنشاء قائمة تظهر عند النقر بالزر الأيمن على الأيقونة وتضيف بها خيارات كثيرة ومنها إعادة تكبير البرنامج أو إغلاقه أو عن المبرمج .. إلخ .

#18

موضوع أكثر من رائع

ادعو لي بالهداية فأنا أحتاج هذا الدعاء بشدة

منتدى تصميم التطبيقات (و يشمل نظم التشغيل) و تعريبها. <<<<<<

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

بعض ردودي ومشاراكاتي في المنتدى:

1- هل تريد التحكم بجهازك كأنك محترف, ( إذاً تعال معي وتعلم الرجستري Registry ).

...|-->> فكرة عامة عن الرجستري وكيفية التعامل معه ( رقم المشاركة 1 - 4 )

...|-->> كتابة ملف رجستري

...|-->> تشغيل الرجستري دون رسائل( في الخفاء )

...|-->> بعض التحكمات التي يقدمها الرجستري

...|-->>=>> إيقاف عمل Ctrl+Alt+delete ( Task Manager )

...|-->>=>> إخفاء قائمة ملف file وبذلك لن ترى قائمة file

...|........... في مشاركة أخرى >> حتى ولو قمت بالضغط على أي ملف أو مجلد بزر الفأرة الأيمن

...|-->>=>> لإيقاف وإخفاء عمل البحث Find من على الجهاز

...|-->> بعض المعلومات التي يقدمها الرجستري

...|-->>=>> معرفة الأجهزة المتصلة بالـIDE ورقم السريال الخاص لكل جهاز

...|-->> من أحسن مواقع الرجستري

...|-->>=>> http://technet2.microsoft.com/WindowsServe...3.mspx?mfr=true

منتدى مبرمجي لغة Microsoft Visual Basic <<<<<<

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

برامج من صنعي:

1- لعبة (من صنعي ), جربها وقول رأيك

2- ساعة حائط, من صنعي

بعض ردودي ومشاراكاتي في المنتدى:

1- طريقتان لفتح ملف معين وليكن بامتداد SWF ببرنامجك [ الطريقة الأولى - الطرقة الثانية ]

2- هل تريد ألا يتحكم أحد في الجهاز غيرك؟

3- كود ايقاف عمل زر الاغلاق x بزاوية الفورم

4- عرض صورة متحركة بالكود , أي بدون استخدام أدوات

5- اجعل الـComboBox [ تنسدل - لما تكتب فيا تنسدل وتظهر الاسماء التى تبدأ بالحرف اللي كتبته فى الكومبو ]

6- إنشاء مكون أثناء تشغيل البرنامج ثم إدخاله تحت نطاق مكون آخر مثلاً إدخاله داخل نطاق microsoft tabbed dialog control

أسئلتي في المنتدى التي تم الإجابة عليها:

1- كيف يمكن قراءة الإشارات الصوتية الخارجة من الميكروفون أو السماعات ( لرسمها أو العبث بها ) ؟ أرجو المزيد من الردود ...

2- إيقاف عمل الرجستري

أسئلتي في المنتدى التي لم يتم الإجابة عليها:

اقتباس
ردك يعطي حافذ للإجابة على أسئلتك
#19

إنفرااااااااااااااااااااد جميل واكثر من رائع

ولكن هل هناك من حل لازالة الايكون بعد الضغط على ال Icon

أسف ولكن أين أنفذ كود معين بعد الضغط على ال NotifyIcon

او فى اى حدث

تحياتى

مرحبااااااااا

بالنسبة لازلة الايكون من systemTry وعدم تحميلها مع بدية تحميل الفورم وبعد الضغط على ال NotifyIcon

قم بتغير الكود كما يلى فى حدث الفورم لوود

c.Visible = False

سيتم عمل البرنامج بشكل كامل إن شاء الله

تحياتى

بالنسبة لتنفيذ اى حدث بعد الظغط على ال Ntify Icon

قم بفتح ال BallonTip.vb من البرنامج

واكتب الكود الذى تريده فى

Public Sub Clicked()

End Sub

[code/]

ولكن إخوانى لى طلب والله يعينكم عليه

وهو ان كان فى إستطاعة احد ان يقوم بشرح هذا الكود لنا

أشككركم على وقتكم الغالى لقراءة مشاركتى

السلام عليكم

قال رسول الله صلى الله عليه وسلم

يكبر بن أدام ويكبر معه شيئان كثرة المال وطول العمر

صدق رسول الله صلى الله عليه وسلم

قال عمر بن الخطاب رضي الله عنه

نحن قوم أعزنا الله بالإسلام فإذا إبتغينا العزة فى غيره أذلنا الله

#20

how i can add icon with contextMenu + notifyIcon

هذا الموضوع مغلق.

مواضيع مشابهة