PDA

View Full Version : آموزش: آموزش راست به چپ کردن ExtraGrid یا هر کامپننتی که قابلیت راست چین ندارد



arman_Delta2002
شنبه 27 خرداد 1391, 20:03 عصر
سلام بالاخره ایرانی ها موفق شدن بر Developer Expressچیره شن البته نه به صورت کامل:اشتباه:

من بالاخره موفق شدم ExtraGrid رو راست چین کنم اینم عکسش و میخوام به همه دوستاران دات نت یاد بدم.
88353

خوب برای شروع یک UserControl به پروژه اضافه کنین بعد داخلش کامپننت مورد نظر رو بکشین و حالت Dock =Fill بزارین تا کل UserControl رو بگیره بعد برین داخل حالت دیزاینر UserControl تون UserContro.Designer.vb هرچی رویداد و خاصیت دیدین در حالت Public قرار بدین خوب برین در قسمت کد نویسی UserControl و این کد ها رو اضافه کنین

این فضا نام رو هم داخل یوزرکنترل صدا کنین
Imports System.ComponentModel



Private Const WS_EX_LAYOUTRTL As Integer = &H400000
Private _mirrored As Boolean = False

<System.ComponentModel.Description("Change to the right-to-left layout."), DefaultValue(False), Localizable(True), Category("Appearance"), Browsable(True)> _
Public Property Mirrored() As Boolean
Get
Return _mirrored
End Get
Set(ByVal value As Boolean)
If _mirrored <> value Then
_mirrored = value
Me.Refresh()
MyBase.OnRightToLeftChanged(EventArgs.Empty)
End If
End Set
End Property

Protected Overrides ReadOnly Property CreateParams() As CreateParams
Get
If Me.Mirrored Then
Dim CP As CreateParams
CP = MyBase.CreateParams
CP.ExStyle = CP.ExStyle Or WS_EX_LAYOUTRTL
MyBase.Refresh()
Return CP
Else
MyBase.Refresh()
Return MyBase.CreateParams
End If
End Get
End Property

تو رویداد Load یوزر کنترولتونم این کد رو بنویسین

Mirrored = True

به همین راحتی
حالا پروژه رو یکبار بولد کنین

کل گیرد راست به چپ شد حالا UserControl آماده رو سیو کنین و بکشینش روی یک فرم و حتی از پروپرتی های اون شیعتون به راحتی استفاده کنین

نمونه استفاده از پروپرتی ها
UserControl11.GridControl1.DataSource = AspadDCompanyDB1DataSet.D_Acc_Afrad



تشکرر یادتون رفتا :چشمک:

هر رویداد کامپننت رو لازم داشتین فقط کافیه حالت اون رو از Private به Public تعریف کنین

اگر هم به مشکل گرافیکی خوردین یه تایمر با زمان بیشتر از 1 ثانیه به یوزر کنترل اضافه کین و خاصیت enable اون رو از تو پروپرتی خودش true کنین و امیدوارم که کامپننتون خاصیت refresh رو داشته باشه تا بتونین درون تایمر ازش استفاده کنین

ali reza mansoori 2
دوشنبه 29 خرداد 1391, 18:07 عصر
خیلی جالب بود
ولی اگر وراثت یوزر کنترل رو به گرید نصبت بدید خیلی بهتر میشه و می تونید در زمان طراحی کنترلی همانند خود گرید داشته باشید و خصوصیاتش رو تغییر بدید
RibbonControl هم با روش شما میشه راست به چپ کرد ولی یکم مشکل گرافیکی داره (باید روش کار کنیم)
در کل خیلی ممنون
یا علی

arman_Delta2002
دوشنبه 29 خرداد 1391, 19:12 عصر
خیلی جالب بود
ولی اگر وراثت یوزر کنترل رو به گرید نصبت بدید خیلی بهتر میشه و می تونید در زمان طراحی کنترلی همانند خود گرید داشته باشید و خصوصیاتش رو تغییر بدید
RibbonControl هم با روش شما میشه راست به چپ کرد ولی یکم مشکل گرافیکی داره (باید روش کار کنیم)
در کل خیلی ممنون
یا علی

بله این مشکل گرافیکی رو هم برنامه نویسای خود دات نت دارن واسه همین نمیتونن کامل کل کامپننت ها رو راست چین کنن.
اگر میشه یک آموزش از توارث یک شیع با یوزر کنترل بزارین عالی میشه