السلام عليكم
ممكن اعرف كيف اخلي شريط الستيتوس بار يكون بالاسفل اذا كان الفورم بيشتغل على كامل الشاشه
وكيف اظهر التاريخ والوقت فيه بدون مااستخدم ليبل واداة التايمر
الفيجوال بيسك .نت
شكرا
السلام عليكم
ممكن اعرف كيف اخلي شريط الستيتوس بار يكون بالاسفل اذا كان الفورم بيشتغل على كامل الشاشه
وكيف اظهر التاريخ والوقت فيه بدون مااستخدم ليبل واداة التايمر
الفيجوال بيسك .نت
شكرا
تم تعديل هذه المشاركة بواسطة PRO.M في 19 ديسمبر 2008 في 22:07
مرحباً أخي الكريم .
بدون Label ممكن لكن بدون Timer غير محبذ :S .
المثال التالي يحتاج منك إضافة StatusBar إلى الـ Form1, أعلم أنك ستجد الكود طويل لكن صدقني كُل المحتوى لشكل منسق ( Graphics ) .
Public Class Form1
Private WithEvents Timer1 As New Timers.Timer(900)
Private Rect As Rectangle
Private Sub StatusStrip1_MouseUp(ByVal Sender As Object, ByVal E As System.Windows.Forms.MouseEventArgs) Handles StatusStrip1.MouseUp
If E.X >= Rect.Left Then
Process.Start("TimeDate.CPL")
End If
End Sub
Private Sub StatusStrip1_Paint(ByVal Sender As Object, ByVal E As System.Windows.Forms.PaintEventArgs) Handles StatusStrip1.Paint
Dim G As Graphics = E.Graphics
Dim ClWidth As Integer = CInt((Font.Height / 2) * Now.ToLocalTime.ToString.Length)
Rect = New Rectangle(Sender.Width - ClWidth, 0, ClWidth, Sender.Height)
Dim LG As New Drawing2D.LinearGradientBrush(CType(Sender.ClientRectangle, Rectangle), Color.FromArgb(150, 255, 255, 255), Color.FromArgb(0, 0, 0, 0), Drawing2D.LinearGradientMode.BackwardDiagonal)
G.FillRectangle(New SolidBrush(Color.FromArgb(0, 0, 35)), Sender.ClientRectangle)
G.FillRectangle(LG, Sender.ClientRectangle)
G.FillRectangle(Brushes.Black, Rect)
ControlPaint.DrawBorder3D(G, Rect, Border3DStyle.Raised, Border3DSide.Bottom)
G.DrawString(Now.ToLocalTime, Font, Brushes.Lime, (Rect.Left + (ClWidth / 15)), (Rect.Top + (Rect.Height * 0.25)))
LG = New Drawing2D.LinearGradientBrush(Rect, Color.FromArgb(150, 255, 255, 255), Color.FromArgb(0, 0, 0, 0), Drawing2D.LinearGradientMode.ForwardDiagonal)
G.FillRectangle(LG, Rect)
End Sub
Private Sub Timer1_Elapsed(ByVal Sender As Object, ByVal E As System.Timers.ElapsedEventArgs) Handles Timer1.Elapsed
StatusStrip1.Invalidate()
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Timer1.Enabled = True
End Sub
End Class
تحياتي BasharVS .
تم تعديل هذه المشاركة بواسطة Bashar Rabat في 19 ديسمبر 2008 في 23:11
The important thing is not so much
that every child should be taught,
as that every child should be given the wish to learn.
الله يعطيك العافيه
الكود حلو بس المشكله ان باقي الستيتو بار مايطلع بالاسفل بيكون مكانه بنفس المكان عالفورم
لما يشتغل الفورم يكون بالنص مش في الاسفل
ارجو المساعده
مرحباً أخي الكريم :
إنك كنت تقصد أنك تريد الـ StatusBar يعرض دائماً في نقطة مركز الفورم مع إعادة تحجيمه بالنسبة لخظ العرض, يمكنك تغير الخاصية الإفتراضية Dock = DockStyle.Bottom إلى Dock = DockStyle.None ومن ثم تغير الخاصية Anchor والتي تحوي في مربع تحريرها ( أربع مستطيلات, اثنين عاموديان و اثنين أخران أفقيان ) عليك تحديد الأفقيان فقط بعد ذلك انقل الـ StatusBar الى منصف الـ Form1 بالنسبة الى خط الطول
أو إضافة الكود التالي :
Private Sub Form1_SizeChanged( Byval Sender AS System.Object, Byval Ev As System.EventArgs ) Handles MyBase.SizeChanged
If StatusBar1.Dock = DockStyle.Bottom Then
StatusBar1.Dock = DockStyle.None
End If
Dim CY As Integer = CInt(( Height / 2) - (StatusBar1.Height /2))
StatusBar1.Left = 0
StatusBar1.Top = CY
StatusBar1.Width = Me.Width
End Sub
تحياتي BasharVS .
تم تعديل هذه المشاركة بواسطة Bashar Rabat في 20 ديسمبر 2008 في 13:48
The important thing is not so much
that every child should be taught,
as that every child should be given the wish to learn.
شكرا لك
جربت الطريقه بس الستيتيو صار يظهر بالنص وانا اريده ان يظهر في الاسفل
هاذي المشكله عندي اذا كبر حجم الفورم بالرن يكون الستيتيو بالنص اريده في الاسفل اثناء التشغيل
مرحباً أخي الكريم .
العفو .
إذا كان StatusBar.Dock = DockStyle.Bottom فسيظهر الـ StatusBar دائماً في الأسفل حتى إذا غيرت حجم الـ Form . إذا كانت المشكلة ان الـ Form تحوي تحكم أخر Control وخاصية Dock = DockStyle.Bottom ماعليك سوى النقر بالزر اليميني RightClick من الـ Mouse على الـ StatusBar ثم نقر على ( SendToBack ) .
تحياتي BasharVS .
The important thing is not so much
that every child should be taught,
as that every child should be given the wish to learn.
شكرا اخوي تعبتك معاي
المشكله بالفيجوال بيسك وليست في الاداه
بثبت البرنامج من جديد لان طلعلي اكثر من مشكله مع كل اداه استخدمها