PDA

View Full Version : کلاس های شخصی برای vb.net



Hossein Bazyan
جمعه 25 مرداد 1387, 14:57 عصر
سلام
دوستانی که با دات نت کار میکنند خیلی زود به اهمیت کلاسها پی میبرند. من این تاپیک رو باز کردم که دوستانی که برای خودشان کلاسی نوشته اند یا از جایی پیدا نموده اند اینجا آپلود کنند تا دوستان دیگه هم استفاده کنند.
برای شروع من یک کلاس میذارم برای چاپ datagridview
این کلاس هر datagridview یی را بهش بدی چاپ میکنه . من این رو از جایی دانلود کرده ام و یکسری تغییرات داده ام
برای جاپ datagridview به شکل زیر باید عمل نمائید.



PrintDGV.Print_DataGridView(dgvActiveProf, "Activiteit / Professional ", "p", False, True)

که اگر به کد کلاس دقت کنید پارامترهای تابع را میتونید تشخیص دهید.

Hossein Bazyan
سه شنبه 29 مرداد 1387, 11:49 صبح
سلام
دوستان کسی نظری یا کلاسی نداره که بذاره ؟

arsalansalar
سه شنبه 29 مرداد 1387, 12:30 عصر
سلام
دوستانی که با دات نت کار میکنند خیلی زود به اهمیت کلاسها پی میبرند. من این تاپیک رو باز کردم که دوستانی که برای خودشان کلاسی نوشته اند یا از جایی پیدا نموده اند اینجا آپلود کنند تا دوستان دیگه هم استفاده کنند.
برای شروع من یک کلاس میذارم برای چاپ datagridview
این کلاس هر datagridview یی را بهش بدی چاپ میکنه . من این رو از جایی دانلود کرده ام و یکسری تغییرات داده ام
برای جاپ datagridview به شکل زیر باید عمل نمائید.



PrintDGV.Print_DataGridView(dgvActiveProf, "Activiteit / Professional ", "p", False, True)

که اگر به کد کلاس دقت کنید پارامترهای تابع را میتونید تشخیص دهید.
من 5 ماه پيش نزديك 1 ماه با اين كلاس سر وكله زدم آخرشم نتونستم باهاش پرينت بگيرم اگه شما تونستيد پروژه اشو اينجا آپ كنيد ما هم استفاده كنيم.:چشمک:

Hossein Bazyan
سه شنبه 29 مرداد 1387, 12:40 عصر
من 5 ماه پيش نزديك 1 ماه با اين كلاس سر وكله زدم آخرشم نتونستم باهاش پرينت بگيرم اگه شما تونستيد پروژه اشو اينجا آپ كنيد ما هم استفاده كنيم.:چشمک:
سلام
من نه تنها باهاش پرینت گرفتم بلکه در پروژه ای که دو ماه قبل تحویل دادم استفاده هم کردم و مشکلی نداره .
کارش خیلی راحته تابع Print_DataGridView را فراخوانی میکنی ( من این کلاس را بسته به نیاز خود تغییر داده ام ) و پارامترها را میدی و برات پرید ویو را چاپ میکنه . حتی حالت افقی و عمودی هم داره . در ضمن عرض سلولها را متاسب طول یا عرض داده شده تنظیم میکنه !

اینهم شیوه فراخوانی



PrintDGV.Print_DataGridView(dgvActiveProf, "Activiteit / Professional ", "p", False, True)

Hossein Bazyan
پنج شنبه 31 مرداد 1387, 14:56 عصر
سلام

از کاربران محترم کسی کلاس یا مدولی نداره ؟
چرا دوستان در بجث شرکت نمیکنند؟

__H2__
جمعه 01 شهریور 1387, 00:38 صبح
سلام
راه را اشتباه میروید.
datagaridview مگر چیست؟ بیش از یک جدول است؟؟؟
همانطور که راه اصولی نمایش جداول روی مانیتور با datagridview است.
چه بخواهید و چه نخواهید باید باور کنید...
راه اصولی چاپ جداول هم با ابزارات گزارشی است، مثل MsReport و Crystall و انواع نمونه های مشابه.
این نمونه ها مخصوص چاپ هستند dpi قابل قبول و کیفیت مناسبی عرضه میکنند به همراه تمام خواص سفارشی و مورد نیاز چاپ.

Hossein Bazyan
سه شنبه 07 اردیبهشت 1389, 11:35 صبح
سلام
از این تاپیک استقبال زیادی نشد اما مهم نیست من خودم دومین کلاس رو آپلود میکنم
در محیط ویرایشگر وی بی یا سی شارپ کلمان مختلف به رنگهای مختلف نمایش داده میشوند مثلا کلمه Private با رنگ آبی و غیره .
کلاس زیر را به پروژه اضافه کنید و در Form_Load مقدار زیر را قرار دهید


m_ColorRTB = New ColorRichTextBox.clsColorRichTextBox(rtbMain)

و متغییر m_ColorRTB را به شکل زیر در قسمت اعلانات معرفی نمائید .


Private m_ColorRTB As ColorRichTextBox.clsColorRichTextBox

حال مقدار

m_ColorRTB.ColorCode = True
m_ColorRTB.RecolorEntireText()
کلمات را رنگی و مقدار

m_ColorRTB.ColorCode = False
رنگ کلمات را میگیرد.
در ضمن باید از RichTextBox به جای TextBox استفاده کنید که در اینجا نام آنرا rtbMain قرار داده است.
در ضمن این کلاس را من از اینترنت دانلود کرده ام .

armin8651
چهارشنبه 08 اردیبهشت 1389, 00:31 صبح
سلام
دوستانی که با دات نت کار میکنند خیلی زود به اهمیت کلاسها پی میبرند. من این تاپیک رو باز کردم که دوستانی که برای خودشان کلاسی نوشته اند یا از جایی پیدا نموده اند اینجا آپلود کنند تا دوستان دیگه هم استفاده کنند.
برای شروع من یک کلاس میذارم برای چاپ datagridview
این کلاس هر datagridview یی را بهش بدی چاپ میکنه . من این رو از جایی دانلود کرده ام و یکسری تغییرات داده ام
برای جاپ datagridview به شکل زیر باید عمل نمائید.



PrintDGV.Print_DataGridView(dgvActiveProf, "Activiteit / Professional ", "p", False, True)

که اگر به کد کلاس دقت کنید پارامترهای تابع را میتونید تشخیص دهید.

خیلی ممنون، کلاس خوبی بود ، فقط میشه کاری کرد که به صورت راست به چپ اطلاعات رو چاپ کنه؟ اینجوری داده های فارسی خیلی بهتر چاپ میشن . بازم ممنون

Hossein Bazyan
چهارشنبه 08 اردیبهشت 1389, 00:36 صبح
خیلی ممنون، کلاس خوبی بود ، فقط میشه کاری کرد که به صورت راست به چپ اطلاعات رو چاپ کنه؟ اینجوری داده های فارسی خیلی بهتر چاپ میشن . بازم ممنون
سلام
متاسفانه روی این مطلب کار نکرده ام و نمیدانم چون موردش پیش نیومده.
به این کلاس من چند پارامتر را اضافه کردم ( بسته به نیازی که خودم داشتم) اما چون من راست به چپ و در کل با متون فارسی کار نمیکنم روی این مطلب فکر نکردم:خجالت:

armin8651
چهارشنبه 08 اردیبهشت 1389, 00:42 صبح
سلام
متاسفانه روی این مطلب کار نکرده ام و نمیدانم چون موردش پیش نیومده.
به این کلاس من چند پارامتر را اضافه کردم ( بسته به نیازی که خودم داشتم) اما چون من راست به چپ و در کل با متون فارسی کار نمیکنم روی این مطلب فکر نکردم:خجالت:

ممنون ، حالا ببنیم میشه راست به چپش کرد یا نه :چشمک:

Shahram_Shobeiri
چهارشنبه 08 اردیبهشت 1389, 08:53 صبح
اون مورد راست به چپ کردن و چند مورد دیگه رو من قبلاً انجام داده بودم. می تونید تو صفحه زیر پیداش کنید :
http://barnamenevis.org/forum/showthread.php?t=191620&page=6

bah_jaf
چهارشنبه 08 اردیبهشت 1389, 09:38 صبح
سلام
من برنامه پرینت دوستمنو خیلی روش کار کردم و کلی سفارشی تر شده
حتما دانلود کنید:

armin8651
چهارشنبه 08 اردیبهشت 1389, 10:17 صبح
اون مورد راست به چپ کردن و چند مورد دیگه رو من قبلاً انجام داده بودم. می تونید تو صفحه زیر پیداش کنید :
http://barnamenevis.org/forum/showthread.php?t=191620&page=6

خیلی خیلی ممنون
فقط اگه میشه درباره نحوه مقداردهی به متغییر Selected_Columns As List(Of String) هم یه توضیحاتی بدین؟
من حذفش کردم تا نتیجه رو ببینم. البته بازم یه مشکل داره که خود ستون ها رو به ترتیب راست به چپ چاپ نمی کنه مثل شکل زیر:

http://barnamenevis.org/forum/attachment.php?attachmentid=48052&stc=1&d=1272435415

armin8651
چهارشنبه 08 اردیبهشت 1389, 10:23 صبح
سلام
من برنامه پرینت دوستمنو خیلی روش کار کردم و کلی سفارشی تر شده

کار شما هم خیلی خوبه ، ممنون
نحوه استفادش هم اینجا بذاری بدوم شک خیلی ها استفاده مکنن

Hossein Bazyan
چهارشنبه 08 اردیبهشت 1389, 10:57 صبح
سلام

در مورد کلاس دومی ( رنگی کردن کلمات داخل RichTextBox) کسی نظری نداره ؟

Alirezanet
چهارشنبه 08 اردیبهشت 1389, 11:14 صبح
من هنوز تست نكردم ولي دنبال اين كلاس بودم ...
اگه كار كنه كه حتما هم ميكنه ... ممنون .

در ضمن توي امضاي من چند تا كلاس هست كه ميتونيد دانلود كنيد .
غير Zip بقيه رو خودم نوشتم !

موفق باشيد

Hossein Bazyan
چهارشنبه 08 اردیبهشت 1389, 11:52 صبح
من هنوز تست نكردم ولي دنبال اين كلاس بودم ...
اگه كار كنه كه حتما هم ميكنه ... ممنون .

در ضمن توي امضاي من چند تا كلاس هست كه ميتونيد دانلود كنيد .
غير Zip بقيه رو خودم نوشتم !

موفق باشيد
سلام
دوست عزیز من اینها رو دیده بودم اما هدف از این تاپیک این بود که سورس رو بذارید.
با توجه یه اینکه کلاسها رو خودتون نوشتید پس سورسش رو هم ارائه بدید تا دوستان بیشتر بتوانند استفاده کنند و احیانا بسته به نیاز خودشان آنها رو سفارشی بکنند.

bah_jaf
چهارشنبه 08 اردیبهشت 1389, 12:46 عصر
کار شما هم خیلی خوبه ، ممنون
نحوه استفادش هم اینجا بذاری بدوم شک خیلی ها استفاده مکنن
این کلاس 2 تا اورراید داره:
حالت اول که ساده هست:

PrintDGV.Print_DataGridView(GrdView, عنوان خط 1, عنوان خط 2, عنوان خط3)که سه ردیف عنوان داره میشه به جای هر عنوان "" را قرارداد که در این صورت اون خط رو حذف میکنه
حالت دوم که جذاب هم هست بصورت زیر هست:

PrintDGV.Print_DataGridView(GrdView, "عنوان 1", "عنوان 2", "عنوان 3", "یک ارایه از لیست فیلدهای موجود", "یک ارایه از لیست فیلدهایی که عددی هستن", "یک ارایه از لیست فیلدهایی که باید جمع گرفته شوند", "یک ارایه از فیلدهایی که باید جهت دسته بندی استفاده شود", "تنظیم با ابعاد صفحه", "خط دار باشد یا نباشد", "نام فونت", "اندازه فونت که هدر ها 2 سایز بزرگتر میشوند")و درصورتیکه به شکل دوم نمایش دهید میتوانید شکل زیر برا ببینید که اگر در ستون فیلدهای انتخابی کنار مربع تیک زده باشید درصورتیکه فیلد عددی باشد سه رقم سه رقم جدا میشود و در قسمت فیلدهای جمع مانند تصور نمونه ستون کد تفضیلی جمع بسته خواهد شد و دسته بندی جمع بر اساس فبلدهایی است که در ستون دسته بندی استفاده نموده اید یعنی با تعویض رشته جمع به شما داده خواهد شد در مثال زیر اگر ادرس 10 فیلد اول به فرض تهران باشد. انگاه جمع 10 ستون زده خواهد شد و به همین ترتیب باز هم درصورتیکه سوال داشتید در خدمتم میتونید پیام خصوصی بدید

bah_jaf
چهارشنبه 08 اردیبهشت 1389, 12:50 عصر
یک کلاس دیگه هم دارم که فایل یک دیتا گرید رو به اکسل ارسال میکنه:

Dim x As New ExportExcel
x.make(GrdView)

این هم شکل استفادش

Hossein Bazyan
چهارشنبه 08 اردیبهشت 1389, 12:55 عصر
سلام
دوستان تاپیک داره رونق میگیره.
از دوستان دیگه ای هم که کلاسی دارند خواهشا به اشتراک بگذارند.

Shahram_Shobeiri
چهارشنبه 08 اردیبهشت 1389, 12:57 عصر
خیلی خیلی ممنون
فقط اگه میشه درباره نحوه مقداردهی به متغییر Selected_Columns As List(Of String) هم یه توضیحاتی بدین؟
من حذفش کردم تا نتیجه رو ببینم. البته بازم یه مشکل داره که خود ستون ها رو به ترتیب راست به چپ چاپ نمی کنه مثل شکل زیر:

http://barnamenevis.org/forum/attachment.php?attachmentid=48052&stc=1&d=1272435415

اینم یه مثال

salehbagheri
چهارشنبه 08 اردیبهشت 1389, 13:10 عصر
اينهم يه مثال از طرف من.

با اينكه قديمي هست و قبلاً در يك تاپيك قديمي گذاشته بودم ولي اينجا هم ميذارم تا دوستان جديد ببينند!


Imports System.Windows.Forms
Imports System.Drawing
Imports System.Drawing.Drawing2D

Namespace MyProject

Public Class CheckBox
Inherits Windows.Forms.CheckBox

Dim m_hover As Boolean = False

Public Sub New()
Me.Appearance = Appearance.Button
End Sub

Protected Overrides Sub OnPaint(ByVal pevent As System.Windows.Forms.PaintEventArgs)

If (Me.Checked) Then

Using lgb As New LinearGradientBrush(Me.ClientRectangle, Color.FromArgb(223, 236, 250), Color.FromArgb(178, 214, 252), LinearGradientMode.Vertical)
pevent.Graphics.FillRectangle(lgb, Me.ClientRectangle)
End Using
Using p As New Pen(Color.FromArgb(0, 0, 0))
Dim r As New Rectangle(0, 0, Me.ClientRectangle.Width - 1, Me.ClientRectangle.Height - 1)
pevent.Graphics.DrawRectangle(p, r)
End Using
Else
If (m_hover) Then
Using lgb As New LinearGradientBrush(Me.ClientRectangle, Color.FromArgb(238, 245, 253), Color.FromArgb(208, 229, 251), LinearGradientMode.Vertical)
pevent.Graphics.FillRectangle(lgb, Me.ClientRectangle)
End Using
Using p As New Pen(Color.FromArgb(100, 115, 255))
Dim r As New Rectangle(0, 0, Me.ClientRectangle.Width - 1, Me.ClientRectangle.Height - 1)
pevent.Graphics.DrawRectangle(p, r)
End Using
Else
'pevent.Graphics.Clear(Me.BackColor)
Using lgb As New LinearGradientBrush(Me.ClientRectangle, Color.FromArgb(203, 248, 223), Color.FromArgb(92, 240, 176), LinearGradientMode.ForwardDiagonal)
pevent.Graphics.FillRectangle(lgb, Me.ClientRectangle)
End Using
Using p As New Pen(Color.FromArgb(0, 150, 0))
Dim r As New Rectangle(0, 0, Me.ClientRectangle.Width - 1, Me.ClientRectangle.Height - 1)
pevent.Graphics.DrawRectangle(p, r)
End Using
End If


End If

'Center image
Dim x As Integer = (Me.ClientRectangle.Width - Me.Image.Width) / 2
Dim y As Integer = (Me.ClientRectangle.Height - Me.Image.Height) / 2

pevent.Graphics.DrawImage(Me.Image, New Rectangle(x, y, Me.Image.Width, Me.Image.Height), New Rectangle(0, 0, Me.Image.Width, Me.Image.Height), GraphicsUnit.Pixel)
End Sub


Protected Overrides Sub OnMouseEnter(ByVal eventargs As System.EventArgs)
MyBase.OnMouseEnter(eventargs)
m_hover = True
'My.Computer.Audio.Play(My.Resources.BtnHover, AudioPlayMode.Background)

Me.Invalidate()
End Sub

Protected Overrides Sub OnMouseLeave(ByVal eventargs As System.EventArgs)
MyBase.OnMouseLeave(eventargs)

m_hover = False

Me.Invalidate()
End Sub

End Class

End Namespace




اينم لينك دانلود پروژه (http://barnamenevis.org/forum/attachment.php?attachmentid=27560&d=1232446619)

Hossein Bazyan
چهارشنبه 08 اردیبهشت 1389, 13:24 عصر
اينهم يه مثال از طرف من.

با اينكه قديمي هست و قبلاً در يك تاپيك قديمي گذاشته بودم ولي اينجا هم ميذارم تا دوستان جديد ببينند!

اينم لينك دانلود پروژه (http://barnamenevis.org/forum/attachment.php?attachmentid=27560&d=1232446619)

سلام
برنامه مشکل داره ( چند فایل رو کم داره ) اولی PMohajer.wav ) و دومی هم مربوط به خطای زیر میباشد.

Error 1 Unable to find manifest signing certificate in the certificate store. MyProjectControls

در ضمن کاش میگفتید چه کاری انجام میده

bah_jaf
چهارشنبه 08 اردیبهشت 1389, 13:25 عصر
Dim g As New Drawing2D.GraphicsPath
g.AddEllipse(10, 10, 400, 400)
Me.Region = New System.Drawing.Region(g)


اینم باعث میشه فرمتون به شکل خاصی در بیاد

bah_jaf
چهارشنبه 08 اردیبهشت 1389, 13:28 عصر
اینم یه روش برای اینکه فرم اروم اروم ظاهر بشه:


Me.Opacity =0
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If Me.Opacity >= 1 Then Timer1.Enabled = False
Me.Opacity = Me.Opacity + 0.009
End Sub

Shahram_Shobeiri
چهارشنبه 08 اردیبهشت 1389, 14:35 عصر
ولی یکم اگه دقت کنید می بینید که نمونه این تاپیک وجود داره ها!!!
http://barnamenevis.org/forum/showthread.php?t=194903

armin8651
چهارشنبه 08 اردیبهشت 1389, 16:36 عصر
این کلاس 2 تا اورراید داره:
حالت اول که ساده هست:

PrintDGV.Print_DataGridView(GrdView, عنوان خط 1, عنوان خط 2, عنوان خط3)که سه ردیف عنوان داره میشه به جای هر عنوان "" را قرارداد که در این صورت اون خط رو حذف میکنه
حالت دوم که جذاب هم هست بصورت زیر هست:

PrintDGV.Print_DataGridView(GrdView, "عنوان 1", "عنوان 2", "عنوان 3", "یک ارایه از لیست فیلدهای موجود", "یک ارایه از لیست فیلدهایی که عددی هستن", "یک ارایه از لیست فیلدهایی که باید جمع گرفته شوند", "یک ارایه از فیلدهایی که باید جهت دسته بندی استفاده شود", "تنظیم با ابعاد صفحه", "خط دار باشد یا نباشد", "نام فونت", "اندازه فونت که هدر ها 2 سایز بزرگتر میشوند")و درصورتیکه به شکل دوم نمایش دهید میتوانید شکل زیر برا ببینید که اگر در ستون فیلدهای انتخابی کنار مربع تیک زده باشید درصورتیکه فیلد عددی باشد سه رقم سه رقم جدا میشود و در قسمت فیلدهای جمع مانند تصور نمونه ستون کد تفضیلی جمع بسته خواهد شد و دسته بندی جمع بر اساس فبلدهایی است که در ستون دسته بندی استفاده نموده اید یعنی با تعویض رشته جمع به شما داده خواهد شد در مثال زیر اگر ادرس 10 فیلد اول به فرض تهران باشد. انگاه جمع 10 ستون زده خواهد شد و به همین ترتیب باز هم درصورتیکه سوال داشتید در خدمتم میتونید پیام خصوصی بدید


اینم یه مثال

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

nowar1352
چهارشنبه 09 شهریور 1390, 23:18 عصر
سلام
از این تاپیک استقبال زیادی نشد اما مهم نیست من خودم دومین کلاس رو آپلود میکنم
در محیط ویرایشگر وی بی یا سی شارپ کلمان مختلف به رنگهای مختلف نمایش داده میشوند مثلا کلمه Private با رنگ آبی و غیره .
کلاس زیر را به پروژه اضافه کنید و در Form_Load مقدار زیر را قرار دهید


m_ColorRTB = New ColorRichTextBox.clsColorRichTextBox(rtbMain)

و متغییر m_ColorRTB را به شکل زیر در قسمت اعلانات معرفی نمائید .


Private m_ColorRTB As ColorRichTextBox.clsColorRichTextBox

حال مقدار

m_ColorRTB.ColorCode = True
m_ColorRTB.RecolorEntireText()
کلمات را رنگی و مقدار

m_ColorRTB.ColorCode = False
رنگ کلمات را میگیرد.
در ضمن باید از RichTextBox به جای TextBox استفاده کنید که در اینجا نام آنرا rtbMain قرار داده است.
در ضمن این کلاس را من از اینترنت دانلود کرده ام .


دوست عزيز لطفا ادامه بده مطالبت خيلي گوهربار است ممنون

nowar1352
چهارشنبه 09 شهریور 1390, 23:51 عصر
سلام
من برنامه پرینت دوستمنو خیلی روش کار کردم و کلی سفارشی تر شده
حتما دانلود کنید:

دوست عزيز روش استفاده از اون رو ميگيد

h_a_m_i_d
پنج شنبه 10 شهریور 1390, 07:46 صبح
اینم یک کلاس برای به دست اوردن اوقات شرعی
امیدوارم به دردتون بخوره
اگر مشکلی داشتین بگین