06-10-12, 12:53 AM
كاتب الموضوع : jafaronly
السلام عليكم ورحمة الله
الاخوة الكرام اكيد تعودتم وربما سأمتم من شكل الفورم التلقيدي
حتى اذا استخدمت الــ skin لن يغير كثيرا
ما الحل اذن ؟
اكيد هو الــ trnsparencykey ولكن نريد ان تكون صورتك مثلا هي الفورم ؟
لن يقبل الــ trnsparencykey بوجود صورة في خلفية الفورم
اذا لابد من رسمها بالــ GDI+
اولا وقبل كل شيء لابد ان تكون الفورم بلا حدود اي
ولون الخلفية للفورم هو نفسه الــ trnsparencykey
ولكن قبل ان نرسم الصورة في خلفية الفورم
كما تلاحظون الفورم الان بلا حدود يعني لن نستطيع تحريكها حيث نريد
لذلك علينا ان نكتب الكود اللازم لتحريك الفورم بالماوس :
والان لنرسم صورتك في خلفية الفورم يجب اولا ان تحضر صورة مناسبة واكيد لازم تكون
png او gif اي بدون خلفية
ضع الصورة في مجلد المشروع
واستورد الــ System.Drawing.Drawing2D
والان في حدث الــ Form_Paint
لا اضن الكود بحاجة الى شرح
بقي ان تجرب الكود بنفسك واذا ما ضبط معك تحمل المثال من المرفقات
السلام عليكم ورحمة الله
الاخوة الكرام اكيد تعودتم وربما سأمتم من شكل الفورم التلقيدي
حتى اذا استخدمت الــ skin لن يغير كثيرا
ما الحل اذن ؟
اكيد هو الــ trnsparencykey ولكن نريد ان تكون صورتك مثلا هي الفورم ؟
لن يقبل الــ trnsparencykey بوجود صورة في خلفية الفورم
اذا لابد من رسمها بالــ GDI+
اولا وقبل كل شيء لابد ان تكون الفورم بلا حدود اي
كود :
[color=#000000][COLOR=#0000bb] Me[/color][color=#007700].[/color][color=#0000bb]FormBorderStyle [/color][color=#007700]= [/color][color=#0000bb]Windows[/color][color=#007700].[/color][color=#0000bb]Forms[/color][color=#007700].[/color][color=#0000bb]FormBorderStyle[/color][color=#007700].[/color][COLOR=#0000bb]None
[/COLOR][/COLOR]
ولون الخلفية للفورم هو نفسه الــ trnsparencykey
ولكن قبل ان نرسم الصورة في خلفية الفورم
كما تلاحظون الفورم الان بلا حدود يعني لن نستطيع تحريكها حيث نريد
لذلك علينا ان نكتب الكود اللازم لتحريك الفورم بالماوس :
كود :
[color=#000000][COLOR=#0000bb] Dim MouseCurrrnetPos[/color][color=#007700], [/color][color=#0000bb]MouseNewPos[/color][color=#007700], [/color][color=#0000bb]formPos[/color][color=#007700], [/color][color=#0000bb]formNewPos [/color][color=#007700]As [/color][COLOR=#0000bb]Point
Dim mouseDown1 [/COLOR][color=#007700]As [/color][color=#0000bb]Boolean [/color][color=#007700]= [/color][COLOR=#0000bb]False
[/COLOR][color=#007700]Private [/color][color=#0000bb]Sub Form2_MouseDown[/color][color=#007700]([/color][color=#0000bb]ByVal sender [/color][color=#007700]As [/color][color=#0000bb]Object[/color][color=#007700], [/color][color=#0000bb]ByVal e [/color][color=#007700]As [/color][color=#0000bb]System[/color][color=#007700].[/color][color=#0000bb]Windows[/color][color=#007700].[/color][color=#0000bb]Forms[/color][color=#007700].[/color][color=#0000bb]MouseEventArgs[/color][color=#007700]) [/color][color=#0000bb]Handles Me[/color][color=#007700].[/color][COLOR=#0000bb]MouseDown
[/COLOR][color=#007700]If [/color][color=#0000bb]e[/color][color=#007700].[/color][color=#0000bb]Button [/color][color=#007700]= [/color][color=#0000bb]MouseButtons[/color][color=#007700].[/color][COLOR=#0000bb]Left Then
mouseDown1 [/COLOR][color=#007700]= [/color][COLOR=#0000bb]True
MouseCurrrnetPos [/COLOR][color=#007700]= [/color][color=#0000bb]Control[/color][color=#007700].[/color][COLOR=#0000bb]MousePosition
formPos [/COLOR][color=#007700]= [/color][COLOR=#0000bb]Location
End [/COLOR][COLOR=#007700]If
[/COLOR][COLOR=#0000bb]End Sub
[/COLOR][color=#007700]Private [/color][color=#0000bb]Sub Form2_MouseMove[/color][color=#007700]([/color][color=#0000bb]ByVal sender [/color][color=#007700]As [/color][color=#0000bb]Object[/color][color=#007700], [/color][color=#0000bb]ByVal e [/color][color=#007700]As [/color][color=#0000bb]System[/color][color=#007700].[/color][color=#0000bb]Windows[/color][color=#007700].[/color][color=#0000bb]Forms[/color][color=#007700].[/color][color=#0000bb]MouseEventArgs[/color][color=#007700]) [/color][color=#0000bb]Handles Me[/color][color=#007700].[/color][COLOR=#0000bb]MouseMove
[/COLOR][color=#007700]If [/color][color=#0000bb]mouseDown1 [/color][color=#007700]= [/color][COLOR=#0000bb]True Then
MouseNewPos [/COLOR][color=#007700]= [/color][color=#0000bb]Control[/color][color=#007700].[/color][COLOR=#0000bb]MousePosition
formNewPos[/COLOR][color=#007700].[/color][color=#0000bb]X [/color][color=#007700]= [/color][color=#0000bb]MouseNewPos[/color][color=#007700].[/color][color=#0000bb]X [/color][color=#007700]- [/color][color=#0000bb]MouseCurrrnetPos[/color][color=#007700].[/color][color=#0000bb]X [/color][color=#007700]+ [/color][color=#0000bb]formPos[/color][color=#007700].[/color][COLOR=#0000bb]X
formNewPos[/COLOR][color=#007700].[/color][color=#0000bb]Y [/color][color=#007700]= [/color][color=#0000bb]MouseNewPos[/color][color=#007700].[/color][color=#0000bb]Y [/color][color=#007700]- [/color][color=#0000bb]MouseCurrrnetPos[/color][color=#007700].[/color][color=#0000bb]Y [/color][color=#007700]+ [/color][color=#0000bb]formPos[/color][color=#007700].[/color][COLOR=#0000bb]Y
Location [/COLOR][color=#007700]= [/color][COLOR=#0000bb]formNewPos
formPos [/COLOR][color=#007700]= [/color][COLOR=#0000bb]formNewPos
MouseCurrrnetPos [/COLOR][color=#007700]= [/color][COLOR=#0000bb]MouseNewPos
End [/COLOR][COLOR=#007700]If
[/COLOR][COLOR=#0000bb]End Sub
[/COLOR][color=#007700]Private [/color][color=#0000bb]Sub Form2_MouseUp[/color][color=#007700]([/color][color=#0000bb]ByVal sender [/color][color=#007700]As [/color][color=#0000bb]Object[/color][color=#007700], [/color][color=#0000bb]ByVal e [/color][color=#007700]As [/color][color=#0000bb]System[/color][color=#007700].[/color][color=#0000bb]Windows[/color][color=#007700].[/color][color=#0000bb]Forms[/color][color=#007700].[/color][color=#0000bb]MouseEventArgs[/color][color=#007700]) [/color][color=#0000bb]Handles Me[/color][color=#007700].[/color][COLOR=#0000bb]MouseUp
[/COLOR][color=#007700]If [/color][color=#0000bb]e[/color][color=#007700].[/color][color=#0000bb]Button [/color][color=#007700]= [/color][color=#0000bb]MouseButtons[/color][color=#007700].[/color][COLOR=#0000bb]Left Then
mouseDown1 [/COLOR][color=#007700]= [/color][COLOR=#0000bb]False
End [/COLOR][COLOR=#007700]If
[/COLOR][COLOR=#0000bb]End Sub
[/COLOR][/COLOR]
والان لنرسم صورتك في خلفية الفورم يجب اولا ان تحضر صورة مناسبة واكيد لازم تكون
png او gif اي بدون خلفية
ضع الصورة في مجلد المشروع
واستورد الــ System.Drawing.Drawing2D
كود :
[color=#000000][COLOR=#0000bb]Imports System[/color][color=#007700].[/color][color=#0000bb]Drawing[/color][color=#007700].[/color][COLOR=#0000bb]Drawing2D
[/COLOR][/COLOR]
والان في حدث الــ Form_Paint
كود :
[color=#000000][COLOR=#0000bb] Dim g [/color][color=#007700]As [/color][color=#0000bb]Graphics [/color][color=#007700]= [/color][color=#0000bb]e[/color][color=#007700].[/color][COLOR=#0000bb]Graphics
g[/COLOR][color=#007700].[/color][color=#0000bb]SmoothingMode [/color][color=#007700]= [/color][color=#0000bb]SmoothingMode[/color][color=#007700].[/color][COLOR=#0000bb]HighQuality
Dim grfxPath1 [/COLOR][color=#007700]As [/color][color=#0000bb]GraphicsPath [/color][color=#007700]= New [/color][color=#0000bb]GraphicsPath[/color][COLOR=#007700]()
[/COLOR][color=#0000bb]Dim frmRectangle [/color][color=#007700]As [/color][color=#0000bb]Rectangle [/color][color=#007700]= New [/color][color=#0000bb]Rectangle[/color][color=#007700]([/color][color=#0000bb]0[/color][color=#007700], [/color][color=#0000bb]0[/color][color=#007700], [/color][color=#0000bb]400[/color][color=#007700], [/color][color=#0000bb]400[/color][COLOR=#007700])
[/COLOR][color=#0000bb]g[/color][color=#007700].[/color][color=#0000bb]DrawImage[/color][color=#007700]([/color][color=#0000bb]Image[/color][color=#007700].[/color][color=#0000bb]FromFile[/color][color=#007700]([/color][color=#0000bb]Application[/color][color=#007700].[/color][color=#0000bb]StartupPath [/color][color=#007700]& [/color][color=#dd0000]"\b.gif"[/color][color=#007700]), [/color][color=#0000bb]frmRectangle[/color][COLOR=#007700])
[/COLOR][color=#0000bb][/color][/COLOR]
لا اضن الكود بحاجة الى شرح
بقي ان تجرب الكود بنفسك واذا ما ضبط معك تحمل المثال من المرفقات