صفحه 1 از 2 12 آخرآخر
نمایش نتایج 1 تا 40 از 105

نام تاپیک: نکات، ایده ها و ترفندهای کوچک برنامه نویسی در vb.net

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    کاربر دائمی آواتار amirsajjadi
    تاریخ عضویت
    آبان 1385
    محل زندگی
    خراسان رضوی - سبزوار
    سن
    37
    پست
    871

    Post فرستادن کلیدهای ترکیبی با SendKeys (به صورت کامل)

    با سلام
    سال نو رو به شما دوستان عزیز تبریک عرض میکنم
    با اجازه از آقای غقوری
    این پست در واقع کامل کننده ی پست قبلی (پست آقای غفوری) هست
    ------------------------------------------------------------------------------
    در صورتی که بخواهید بدون فشردن یک کلید از کیبورد کاری کنید که یک کلید خاص فشرده بشه میتونید از این دستور به صورت زیر استفاده میکنید :
    ((دقت کنید که هیچ تفاوتی بین فشردن یک کلید رو کیبورد و دستور sendkeys وجود نداره))

    SendKeys String[,wait]

    String : رشته ای که در واقع همون نویسه هایی هست که باید به عنوان کلید ارسال بشن
    Wait : پارامتری منطقی است. اگر روی False تنظیم بشه (پیش فرض) ، روال اجرا کننده دستور Sendkeys بلافاصله بعد از ارسال نویسه ها مجددا کنترل برنامه رو در دست میگیره و به کار خودش ادامه میده. اما اگه رو True تنظیم بشه سیستم تا پردازش کامل نویسه ها ، کنترل رو به روال اجرا کننده ی دستور Sendkeys باز پس نمیده

    توجه کنید که برای ارسال نویسه های خاص (~ , { , } , % , ( , ) , - , + , ^) باید اونا رو داخل {} قرار بدیم
    به عنوال مثال :
    SendKyes "+ {+} 4 {*} 6


    کلیدهای ویژه در دستور Sendkeys :
    1. کلید TAB : معادل {TAB}
    2. کلید UP ARROW : معادل {UP}
    3. کلید F1 : معادل {F1}
    4. کلید F2 : معادل {F2}
    5. کلید F3 : معادل {F3}
    6. کلید F4 : معادل {F4}
    7. کلید F5 : معادل {F5}
    8. کلید F6 : معادل {F6}
    9. کلید F7 : معادل {F7}
    10. کلید F8 : معادل {F8}
    11. کلید F9 : معادل {F9}
    12. کلید F10 : معادل {F10}
    13. کلید F11 : معادل {F11}
    14. کلید F12 : معادل {F12}
    15. کلید F13 : معادل {F13}
    16. کلید F14 : معادل {F14}
    17. کلید F15 : معادل {F15}
    18. کلید F16 : معادل {F16}
    19. کلید BACKSPACE: معادل {BACKSPACE} یا {BS} یا {BKSP}
    20. کلید BREAK : معادل {BREAK}
    21. کلید CAPS LOCK : معادل {CAPSLOCK}
    22. کلید DELETE یا DEL : معادل {DELETE} یا {DEL}
    23. کلید DOWN ARROW : معادل {DOWN}
    24. کلید END : معادل {END}
    25. کلید ENTER : معادل {ENTER} یا {~}
    26. کلید ESC : معادل {ESC}
    27. کلید HELP : معادل {HELP}
    28. کلید HOME : معادل {HOME}
    29. کلید INS یا INSERT : معادل {INSERT} یا {INS}
    30. کلید LEFT ARROW : معادل {LEFT}
    31. کلید NUM LOCK : معادل {NUMLOCK}
    32. کلید PAGE DOWN : معادل {PGDN}
    33. کلید PAGE UP : معادل {PGUP}
    34. کلید PRINT SCREEN : معادل {PRTSC}
    35. کلید RIGHT ARROW : معادل {RIGHT}
    36. کلید SCROLL LOCK : معادل {SCROLLLOCK}
    توجه کنید که تنها کلیدی که نمیتونیم اون رو به برنامه ها بفرستیم ، کلید Print Screen هست (شماره ی 34)
    برای استفاده از کلید های Alt , Ctrl , Shift همون طور که آقای غفوری گفتند میتونید از معادل های زیر استفاده کنید
    1. کلید Shift : معادل {+}
    2. کلید Ctrl : معادل {^}
    3. کلید Alt : معادل {%}
    به عنوان مثال :
    Sendkeys "+(ES)" 

    یعنی فشردن کلید Shift به همراه کلید های E , S
     Sendkeys "+ES"

    یعنی فشرن کلید Shift به همراه E و پس از رها کردن ، فشردن کلید S است

    توجه : اگه میخواین کلیدی رو چندین بار تکرار کنید میتونید از این الگو استفاده کنید :
    SendKeys "{key num}"

    که در اینجا key کلیدی است که میخواهید به برنامه بفرستید و num تعداد تکرار آن کلید هست
    با تشکر

  2. #2
    VIP آواتار raravaice
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    Tehran
    سن
    42
    پست
    1,944

    If Like و کاربرد آن


    If "Barnamenevis" Like "*name*" Then
    Console.Write("Ok")
    End If
    'Result = Ok
    If "Barnamenevis" Like "*evis" Then
    Console.Write("Ok")
    End If
    'Result = Ok
    If "Barnamenevis" Like "*Barna*" Then
    Console.Write("Ok")
    else
    Console.Write("Err")
    End If
    'Result = Err

  3. #3
    کاربر دائمی
    تاریخ عضویت
    آبان 1385
    محل زندگی
    مشهد
    سن
    40
    پست
    449

    پرینت با استفاده از PrintDocument

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



    PublicClass Form1
    Inherits Windows.Forms.Form
    FriendWithEvents PrintDocument1 AsNew System.Drawing.Printing.PrintDocument
    FriendWithEvents TextBox1 AsNew System.Windows.Forms.TextBox
    FriendWithEvents Button1 AsNew Windows.Forms.Button
    PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    PrintDocument1.Print()
    EndSub
    PrivateSub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
    e.Graphics.TextRenderingHint = Drawing.Text.TextRenderingHint.AntiAlias
    Dim pfont AsNew Font("Arial", 20)
    e.Graphics.DrawString(TextBox1.Text, pfont, Brushes.AliceBlue, 0, 0)
    Dim lmargin, Rmargin, Tmargin, Bmargin AsInteger
    With PrintDocument1.DefaultPageSettings.Margins
    lmargin = .Left
    Rmargin = .Right
    Tmargin = .Top
    Bmargin = .Bottom
    EndWith
    Dim printWidth, PrintHeight AsInteger
    With PrintDocument1.DefaultPageSettings.PaperSize
    printWidth = .Width - lmargin - Rmargin
    PrintHeight = .Height - Tmargin - Bmargin
    EndWith
    Dim r As Rectangle
    r =
    New Rectangle(lmargin, Tmargin, printWidth, PrintHeight)
    e.Graphics.DrawRectangle(Pens.Black, r)
    EndSub
    PrivateSub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load
    TextBox1.Left = 0
    TextBox1.Width =
    Me.Width
    TextBox1.Top = 0
    Button1.Top = TextBox1.Top + TextBox1.Height + 10
    Button1.Left = 0
    Button1.Width =
    Me.Width
    Button1.Text =
    "پ©یë¢"
    Me.Controls.Add(Button1)
    Me.Controls.Add(TextBox1)
    EndSub
    End
    Class


  4. #4
    کاربر دائمی
    تاریخ عضویت
    آبان 1385
    محل زندگی
    مشهد
    سن
    40
    پست
    449

    پرینت فرم

    با این کد میتونید یک فرم رو مستقیما به پرینتر بفرستید تو 2008 کار میکنه ولی تو 2005 یا 2003 رو تست نکردم



    Public
    Class Form1
    FriendWithEvents TXTBox1 AsNew TextBox
    FriendWithEvents PrintForm1 As Microsoft.VisualBasic.PowerPacks.Printing.PrintFor m
    FriendWithEvents BTN AsNew Button
    PrivateSub btn_Click(ByVal a AsObject, ByVal b As System.EventArgs) Handles BTN.Click
    PrintForm1.Print()
    EndSub


    PrivateSub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load
    Me.PrintForm1 = New Microsoft.VisualBasic.PowerPacks.Printing.PrintFor m(Me.components)
    Me.PrintForm1.DocumentName = "document"


    Me.PrintForm1.Form = Me


    Me.PrintForm1.PrintAction = System.Drawing.Printing.PrintAction.PrintToPrinter
    Me.PrintForm1.PrintFileName = Nothing


    'Design New Text Box To Form


    TXTBox1.Multiline =
    True


    TXTBox1.Left = 10
    TXTBox1.Top = 10
    TXTBox1.Height =
    Me.Height - 20
    TXTBox1.Width =
    Me.Width - 20
    TXTBox1.Text =
    "This is Sample Code For Test Print Form " & vbCrLf & "Designer : -_- MHM (Ict_Boy_2005@yahoo.com)" & _
    vbCrLf &
    "Publisher WWW.BarnameNevis.ORG"


    Me.Controls.Add(TXTBox1)
    'Design new Button to form


    Me.Height += 100
    BTN.Left = 0
    BTN.Width =
    Me.Width
    BTN.Top = TXTBox1.Top + TXTBox1.Height
    Me.Controls.Add(BTN)
    BTN.Height = 100
    BTN.Text =
    "Do Print"


    EndSub
    End
    Class




  5. #5
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile افزودن کنترل در زمان اجرا

    https://barnamenevis.org/showpo...2&postcount=47


    مثال: یک تکست باکس به فرم اضافه میکند:
    کد:

    Dim myText As TextBox = New TextBox()
    myText.Location = New Point(25, 25)
    Me.Controls.Add(myText)

  6. #6
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile یافتن MAC آدرس کارت شبکه

    https://barnamenevis.org/showpo...3&postcount=49


    ابتدا System.Management رو به References پروژه بیفزایید و سپس :
    کد:


    Imports System.Management

    Private Sub GetMACAddress()

    Dim searcher As ManagementObjectSearcher
    Dim qry As String = "select * FROM Win32_NetworkAdapter"
    searcher = New ManagementObjectSearcher(qry)
    For Each wmi_HD As ManagementObject In searcher.Get()
    If Not wmi_HD("MacAddress") Is Nothing Then
    MessageBox.Show(wmi_HD("MacAddress").ToString())
    End If
    Next
    End Sub


  7. #7
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile نمایش تصاویر در Windows picture and fax viewer از طریق کدنویسی

    https://barnamenevis.org/showpo...0&postcount=50
    کد:


    ' //Open with the 'Windows picture and fax viewer':
    System.Diagnostics.Process.Start("C:\Windows\syste m32\rundll32.exe ", _
    "C:\Windows\system32\shimgvw.dll,ImageView_Fullscr een " + "filename")

    اینهم که آسونه اما شاید واسه دوستانی مفید باشه :
    کد:

    '//Open with the 'Microsoft Paint':
    System.Diagnostics.Process.Start("C:\Windows\syste m32\MSPaint.exe ", " filename")


  8. #8
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile تبدیل اتوماتیک دکمه Enter به Tab جهت انتقال فوکوس در کنترلها

    منبع:https://barnamenevis.org/showpo...66&postcount=4


    این کد را در کلاس مربوط به کنترل TextBox خود بنویسید :
    کد:

    Protected Overrides Function ProcessDialogKey(ByVal keyData As System.Windows.Forms.Keys) As Boolean

    If keyData = Keys.Return Then
    SendKeys.Send("{TAB}")
    End If
    Return MyBase.ProcessDialogKey(keyData)
    End Function

    و در مورد استفاده در کنترلهای استاندارد :
    کد:

    Private Sub TextBox1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
    If e.KeyCode = Keys.Return Then
    SendKeys.Send("{TAB}")
    End If
    End Sub

  9. #9
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile خواندن و نوشتن فایلهای متنی

    https://barnamenevis.org/showpo...6&postcount=61

    Imports System.IO

    Private Sub CreateTextFile()
    Dim fs As FileStream = New FileStream("C:\test.txt", FileMode.Create)
    Dim w As StreamWriter = New StreamWriter(fs, Encoding.UTF8)
    Using (fs)
    Using (w)
    w.WriteLine(124.23)
    w.WriteLine("Salaam!")
    w.WriteLine("!")
    End Using
    End Using
    End Sub


    Private Function ReadFromTextFile() As String

    Dim sb As StringBuilder = New StringBuilder()
    Dim fs As FileStream = New FileStream("C:\test.txt", FileMode.Open)
    Dim r As StreamReader = New StreamReader(fs, Encoding.UTF8)
    Using (fs)
    Using (r)
    sb.AppendLine(r.ReadLine())
    sb.AppendLine(r.ReadLine())
    sb.AppendLine(r.ReadLine())
    End Using
    End Using
    Return sb.ToString()
    End Function

  10. #10
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile اضافه و جدا کردن نام فایل از مسیر کامل

    https://barnamenevis.org/showpo...7&postcount=62

    Dim filename As String = "..\..\myfile.txt"
    Dim fullPath As String = "c:\Temp"
    Dim filename As String = Path.GetFileName(filename)
    Dim fullPath As String = Path.Combine(fullPath, filename)
    '// (fullPath is now "c:\Temp\myfile.txt")


  11. #11
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile ایجاد یک نام تصادفی برای فایل

    https://barnamenevis.org/showpo...8&postcount=63

    Dim randomFileName As String = System.IO.Path.GetRandomFileName()

    و برای ایجاد نام منحصر بفرد برای فایلهای موقت :
    کد:

    Dim tfile As String = Path.GetTempFileName()

  12. #12
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile باز کردن یک سایت توسط internet explorer

    https://barnamenevis.org/showpo...0&postcount=64

    System.Diagnostics.Process.Start("iexplore.exe", "www.barnamenevis.org")

    و برای مثال در فایرفاکس :
    کد:


    System.Diagnostics.Process.Start("C:\Program Files\Mozilla Firefox\FireFox.exe", "www.barnamenevis.org")


  13. #13
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile تبدیل نوع enum به int

    https://barnamenevis.org/showpo...8&postcount=65

    Public Enum Days
    Sat = 1
    Sun
    Mon
    Tue
    Wed
    Thu
    Fri
    End Enum

    Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click

    Dim x As Integer = Days.Mon
    End Sub

  14. #14
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile انتقال آیتمهای Enum به یک ListBox

    https://barnamenevis.org/showpo...1&postcount=66

    Public Enum Days
    Sat = 1
    Sun
    Mon
    Tue
    Wed
    Thu
    Fri
    End Enum

    Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click

    Dim t As System.Type = GetType(Days)
    For Each s As String In Days.GetNames(t)

    ListBox1.Items.Add(s)
    Next
    End Sub

  15. #15
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile معرفی میانبرهای متداول در کدنویسی

    عادت کردن به میانبرها میتواند سرعت کدنویسی شما را افزایش دهد :

    https://barnamenevis.org/showpo...6&postcount=67

  16. #16
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile بدست آوردن لیست تمامی فرمهای باز در یک برنامه

    https://barnamenevis.org/showpo...6&postcount=68

    مثال :‌ تغییر رنگ پشت زمینه ی تمامی فرمهای باز در یک برنامه :

    For Each frm As Form In Application.OpenForms
    frm.BackColor = Color.Fuchsia
    Next

  17. #17
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile restart کردن (بستن و مجددا اجرا کردن) برنامه


  18. #18
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile ساده ترین راه برای جلوگیری از Not Respond شدن برنامه در حلقه های طولانی

    https://barnamenevis.org/showpo...8&postcount=70

    برنامه تمامی message های درون message queue فعلی (از قبیل رخدادها و ...) را پردازش میکند.
    کد:

    Application.DoEvents()

  19. #19
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile فقط یک نمونه از برنامه بتواند اجرا شود (با استفاده از Process)

    https://barnamenevis.org/showpo...7&postcount=71

    این تغییرات را در کلاس مربوط به StartUp برنامه اعمال کنید :
    کد:

    Imports System.Diagnostics

    Class Program

    <STAThread()> _
    Shared Sub Main()

    If IsPrevInstance() Then
    Return
    End If
    Application.EnableVisualStyles()
    Application.SetCompatibleTextRenderingDefault(Fals e)
    Application.Run(New Form1())
    End Sub

    Private Shared Function IsPrevInstance() As Boolean
    Dim processName As String = Process.GetCurrentProcess().ProcessName
    Dim instances() As Process = Process.GetProcessesByName(processName)
    If instances.Length > 1 Then
    Return True
    Else
    Return False
    End If
    End Function

    End Class

  20. #20
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile روش ارسال ایمیل به چندین گیرنده

    https://barnamenevis.org/showpo...1&postcount=78

    Imports System.Net.Mail

    Class SendEmail

    Public Shared Sub SendMessage(ByVal subject As String, ByVal messageBody As String, ByVal fromAddress As String, ByVal toAddress As String, ByVal ccAddress As String)

    Dim message As MailMessage = New MailMessage()
    Dim client As SmtpClient = New SmtpClient()
    message.From = New MailAddress(fromAddress)

    '// Allow multiple "To" addresses to be separated by a semi-colon
    If toAddress.Trim().Length > 0 Then
    For Each addr As String In toAddress.Split(";")
    message.To.Add(New MailAddress(addr))
    Next
    End If

    '// Allow multiple "Cc" addresses to be separated by a semi-colon
    If ccAddress.Trim().Length > 0 Then
    For Each addr As String In ccAddress.Split(";")
    message.CC.Add(New MailAddress(addr))
    Next
    End If

    message.Subject = subject
    message.Body = messageBody
    client.Host = "YourMailServer"
    client.Send(message)
    End Sub
    End Class

  21. #21
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile نحوه Drag کردن عکس از یک pictureBox به یک pictureBox دیگه

    https://barnamenevis.org/showpo...5&postcount=79

    برای این عمل به یک رویداد (MouseMove) برای pictureBox منبع نیاز دارید و دو رویداد (DragDrop) و ( DragEnter) از pictureBox مقصد. که نحوه کد کردن آن ها به شکل زیر است

    Private Sub PictureBox1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove
    If e.Button = MouseButtons.Left And Not PictureBox1.Image Is Nothing Then
    PictureBox1.DoDragDrop(PictureBox1.Image, DragDropEffects.All)
    End If
    End Sub

    Private Sub PictureBox2_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles PictureBox2.DragEnter
    If e.Data.GetDataPresent(DataFormats.Bitmap) Then
    e.Effect = DragDropEffects.Copy
    Else
    e.Effect = DragDropEffects.None
    End If
    End Sub

    Private Sub PictureBox2_DragDrop(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles PictureBox2.DragDrop
    If e.Data.GetDataPresent(DataFormats.Bitmap) Then

    PictureBox1.Image = CType(e.Data.GetData(DataFormats.Bitmap), Image)
    End If

    End Sub


    نکته : خاصیت AllowDrop مربوط به pictureBox مقصد را بایستی true کنید. دقت داشته باشید که این خاصیت، در پنجره خواص مربوط به pictureBox وجود نداره و باید اونو از طریق کد نویسی اعمال کنید.

  22. #22
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile نحوه ایجاد فرم About بدون کد نویسی و طراحی فرم

    به لینک زیر مراجعه کنید

    https://barnamenevis.org/showpo...3&postcount=80

  23. #23
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile سیاه و سفید کردن عکس با کد نویسی

    https://barnamenevis.org/showpo...1&postcount=81

    توسط متد زیر می توانید هر عکسی را به حالت سیاه و سفید یا همون grayScale در بیارین

    کد:

    Imports System.Drawing.Imaging


    Public Function GrayScaleImage(ByVal graph As Graphics, ByVal img As Image, ByVal left As Integer, ByVal top As Integer) As Image


    Dim colorMix As ColorMatrix = New ColorMatrix()
    colorMix.Matrix00 = 1 / 3.0F
    colorMix.Matrix01 = 1 / 3.0F
    colorMix.Matrix02 = 1 / 3.0F
    colorMix.Matrix10 = 1 / 3.0F
    colorMix.Matrix11 = 1 / 3.0F
    colorMix.Matrix12 = 1 / 3.0F
    colorMix.Matrix20 = 1 / 3.0F
    colorMix.Matrix21 = 1 / 3.0F
    colorMix.Matrix22 = 1 / 3.0F

    Dim imgAttrib As ImageAttributes = New ImageAttributes()
    imgAttrib.SetColorMatrix(colorMix)


    graph.DrawImage(img, New Rectangle(left, top, img.Width, img.Height), 0, 0, img.Width, img.Height, GraphicsUnit.Pixel, imgAttrib)
    Dim bmp As Bitmap = New Bitmap(img)
    Return bmp


    End Function


  24. #24
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile کار کردن با کلاس TimeZoneInfo

    https://barnamenevis.org/showpo...0&postcount=82


    این کلاس مختص دات نت 3.5 (به بعد) است و جهت استفاده باید System.Core رو نیز به References پروژه ی خود بیافزایید.

    مثال - بدست آوردن تاریخ و زمان فعلی در توکیو :
    کد:

    Dim tzSource As TimeZoneInfo = TimeZoneInfo.Local
    Dim tzDestination As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Tokyo Standard Time")
    Dim sourceTime As String = TimeZoneInfo.ConvertTime(DateTime.Now, tzSource, tzDestination).ToShortTimeString()
    MessageBox.Show(sourceTime)

  25. #25
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile بدست آوردن لیست تمامی ناحیه های زمانی (Time Zone)

    https://barnamenevis.org/showpo...1&postcount=83

    این روش مختص دات نت 3.5 (به بعد) است.

    کد:

    Imports System.Collections.ObjectModel


    بدست آوردن Id و DisplayName نواحی :
    کد:

    Dim zones As ReadOnlyCollection(Of TimeZoneInfo) = TimeZoneInfo.GetSystemTimeZones()
    For Each zone As TimeZoneInfo In zones
    ListBox1.Items.Add(zone.Id)
    listBox2.Items.Add(zone.DisplayName)
    Next

  26. #26
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile انجام عملیات متداول روی فایلها و دایرکتوریها

    https://barnamenevis.org/showpo...3&postcount=84

    Imports System.IO

    '//To create a directory
    Directory.CreateDirectory("C:\MyNewDir")

    '//To move a directory
    Directory.Move("C:\MyNewDir", "C:\MyMovedDir")

    '//To delete a directory
    Directory.Delete("C:\MyMovedDir")

    '//To Delete a directory recursively
    Directory.Delete("C:\MyNewDir", True)

    '//To Delete a File
    File.Delete("C:\MyFile.Txt")

    '//To Move a File
    File.Move("C:\MyFile.Txt", "C:\MyOtherDir\MyFile.Txt")

    '//To Copy a file
    File.Copy("C:\MyFile.Txt", "C:\MyOtherDir\MyFile.Txt")

    '//To copy to a different file name is also possible
    File.Copy("C:\MyFile.Txt", "C:\MyOtherDir\MyNewFileName.Txt")

    '//To get information about a file, like the length
    '//You can also get the extension, directory, LastAccessedtime,
    '//LastModifiedTime, wether the file exists or not, the creation date,
    '//attributes of the file etc, from the FileInfo class
    Dim FI As FileInfo = New FileInfo("C:\MyFile.Txt")
    Console.WriteLine("File size of MyFile.Txt: {0}", FI.Length)

    '//copy example
    Dim DateTemp As String = DateTime.Now.ToString
    File.Copy("P:\PRD\Products\AHM\prod.CD\Database\da ta.mdb", "P:\PRD\Products\AHM\prod.CD\Database\" + DateTemp + "-data.mdb")


  27. #27
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile کپی کردن فایلهای درون یک دایرکتوری (فقط فایلها)

    https://barnamenevis.org/showpo...3&postcount=86


    فایلها را در مسیرC:\CopiedFolder کپی میکند :
    کد:


    Imports System.IO


    Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
    Dim fbd As FolderBrowserDialog = New FolderBrowserDialog()
    fbd.Description = "Find Folder to Copy."
    If fbd.ShowDialog() = DialogResult.OK Then

    Dim files() As String = Directory.GetFiles(fbd.SelectedPath)
    Directory.CreateDirectory("C:\CopiedFolder")
    Dim i As Integer
    For i = 0 To files.Length

    Dim tmpFileExt As String = Path.GetExtension(files(i))
    Dim tmpFileName As String = Path.GetFileNameWithoutExtension(files(i))
    File.Copy(files(i), "C:\CopiedFolder\" + tmpFileName + tmpFileExt, True)
    Next
    End If
    End Sub

  28. #28
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile کپی کامل یک دایرکتوری و تمامی زیرشاخه های آن بصورت بازگشتی

    https://barnamenevis.org/showpo...9&postcount=88

    Imports System.IO


    Sub CopyDirectory(ByVal source As DirectoryInfo, ByVal destination As DirectoryInfo)

    If Not destination.Exists Then
    destination.Create()
    End If
    '// Copy all files.
    Dim files() As FileInfo = source.GetFiles()
    For Each file As FileInfo In files
    file.CopyTo(Path.Combine(destination.FullName, file.Name))
    Next
    '// Process subdirectories.
    Dim dirs() As DirectoryInfo = source.GetDirectories()
    For Each dir As DirectoryInfo In dirs

    ' // Get destination directory.
    Dim destinationDir As String = Path.Combine(destination.FullName, dir.Name)
    '// Call CopyDirectory() recursively.
    CopyDirectory(dir, New DirectoryInfo(destinationDir))
    Next

    End Sub


  29. #29
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile انجام عملیات متداول در رجیستری ویندوز

    https://barnamenevis.org/showpo...4&postcount=93

    Imports Microsoft.Win32


    Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
    ' // Create SubKey
    Registry.LocalMachine.CreateSubKey("Software\Sinpi n", RegistryKeyPermissionCheck.ReadWriteSubTree)

    '//Create Key and Set Value
    Dim reg As RegistryKey = Registry.LocalMachine.OpenSubKey("Software\Sinpin" , True)
    reg.SetValue("DWord", "1", RegistryValueKind.DWord)
    reg.SetValue("ExpandString", "1", RegistryValueKind.ExpandString)
    reg.SetValue("QWord", "1", RegistryValueKind.QWord)
    reg.SetValue("String", "1", RegistryValueKind.String)
    reg.SetValue("Unknown", "1", RegistryValueKind.Unknown)

    '// Delete Key
    reg.DeleteValue("DWOrd")

    '// Delete SubKey
    Registry.LocalMachine.DeleteSubKey("Software\Sinpi n")

    '// Read Key Value
    Dim val As String = reg.GetValue("QWord").ToString()

    '// Retrieve All Keys
    For Each s As String In reg.GetValueNames()
    MessageBox.Show(s)
    Next

    End Sub

  30. #30
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile Resize کردن یک تصویر با کدنویسی

    https://barnamenevis.org/showpo...3&postcount=94

    Imports System.Drawing.Drawing2D


    Private Shared Function resizeImage(ByVal imgToResize As Image, ByVal size As Size) As Image

    Dim sourceWidth As Integer = imgToResize.Width
    Dim sourceHeight As Integer = imgToResize.Height

    Dim nPercent As Decimal = 0
    Dim nPercentW As Decimal = 0
    Dim nPercentH As Decimal = 0

    nPercentW = (size.Width / sourceWidth)
    nPercentH = size.Height / sourceHeight

    If nPercentH < nPercentW Then
    nPercent = nPercentH
    Else
    nPercent = nPercentW
    End If
    Dim destWidth As Integer = (sourceWidth * nPercent)
    Dim destHeight As Integer = (sourceHeight * nPercent)

    Dim b As Bitmap = New Bitmap(destWidth, destHeight)
    Dim g As Graphics = Graphics.FromImage(b)
    g.InterpolationMode = InterpolationMode.HighQualityBicubic

    g.DrawImage(imgToResize, 0, 0, destWidth, destHeight)
    g.Dispose()

    Return b
    End Function

  31. #31
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile Crop کردن یک تصویر (یک برش مستطیلی از تصویر)

    https://barnamenevis.org/showpo...9&postcount=95



    Private Shared Function cropImage(ByVal img As Image, ByVal cropArea As Rectangle) As Image

    Dim bmpImage As Bitmap = New Bitmap(img)
    Dim bmpCrop As Bitmap = bmpImage.Clone(cropArea, bmpImage.PixelFormat)
    Return (bmpCrop)
    End Function


    مثال از نحوه ی استفاده :
    کد:

    Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
    PictureBox2.Image = cropImage(PictureBox1.Image, New Rectangle(10, 10, 100, 100))
    End Sub

  32. #32
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile تبدیل یک تصویر رنگی به معادل GrayScal آن

    https://barnamenevis.org/showpo...9&postcount=96

    Imports System.Drawing.Imaging


    Public Shared Function MakeGrayscale(ByVal original As Bitmap) As Bitmap

    ' //create a blank bitmap the same size as original
    Dim newBitmap As Bitmap = New Bitmap(original.Width, original.Height)

    '//get a graphics object from the new image
    Dim g As Graphics = Graphics.FromImage(newBitmap)

    '//create the grayscale ColorMatrix
    Dim array()() As Single = New Single()() {New Single() {0.3F, 0.3F, 0.3F, 0, 0}, _
    New Single() {0.59F, 0.59F, 0.59F, 0, 0}, _
    New Single() {0.11F, 0.11F, 0.11F, 0, 0}, _
    New Single() {0, 0, 0, 1, 0}, _
    New Single() {0, 0, 0, 0, 1}}
    Dim colorMatrix As ColorMatrix = New ColorMatrix(array)

    '//create some image attributes
    Dim attributes As ImageAttributes = New ImageAttributes()

    '//set the color matrix attribute
    attributes.SetColorMatrix(colorMatrix)

    '//draw the original image on the new image
    '//using the grayscale color matrix
    g.DrawImage(original, New Rectangle(0, 0, original.Width, _
    original.Height), 0, 0, original.Width, _
    original.Height, GraphicsUnit.Pixel, attributes)

    '//dispose the Graphics object
    g.Dispose()
    Return newBitmap
    End Function

    Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
    Dim b As Bitmap = PictureBox1.Image

    PictureBox2.Image = MakeGrayscale(b)
    End Sub

  33. #33
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile بدست آوردن مقدار یک Enum از عدد متناظر آن

    https://barnamenevis.org/showpo...4&postcount=97

    Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
    Dim day As Integer = 3

    Dim d As DaysOfWeek = NumToEnum(Of DaysOfWeek)(day)
    MsgBox(d.ToString)
    End Sub

    Public Function NumToEnum(Of T)(ByVal number As Integer) As T

    Return [Enum].ToObject(GetType(T), number)
    End Function

    Public Enum DaysOfWeek
    Monday
    Tuesday
    Wednesday
    Thursday
    Friday
    Saturday
    Sunday
    End Enum

  34. #34
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile بدست آوردن مقدار یک Enum از رشته متنی متناظر با آن

    https://barnamenevis.org/showpo...7&postcount=98

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim d As DaysOfWeek = StringToEnum(Of DaysOfWeek)("Monday")
    '//d is now DaysOfWeek.Monday
    MsgBox(d.ToString)

    If [Enum].IsDefined(GetType(DaysOfWeek), "Katillsday") Then
    StringToEnum(Of DaysOfWeek)("Katillsday")
    End If
    End Sub

    Public Shared Function StringToEnum(Of T)(ByVal name As String) As t

    Return [Enum].Parse(GetType(T), name)
    End Function

    Public Enum DaysOfWeek
    Monday
    Tuesday
    Wednesday
    Thursday
    Friday
    Saturday
    Sunday
    End Enum

  35. #35
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile چرخاندن یک تصویر با زاویه دلخواه

    https://barnamenevis.org/showpo...&postcount=100

    Private Function rotateImage(ByVal b As Bitmap, ByVal angle As Single) As Bitmap

    ' //create a new empty bitmap to hold rotated image
    Dim returnBitmap As Bitmap = New Bitmap(b.Width, b.Height)
    '//make a graphics object from the empty bitmap
    Dim g As Graphics = Graphics.FromImage(returnBitmap)
    '//move rotation point to center of image
    g.TranslateTransform(b.Width / 2, b.Height / 2)
    '//rotate
    g.RotateTransform(angle)
    '//move image back
    g.TranslateTransform(-b.Width / 2, -b.Height / 2)
    '//draw passed in image onto graphics object
    g.DrawImage(b, New Point(0, 0))
    Return returnBitmap
    End Function

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim b As Bitmap = PictureBox1.Image
    PictureBox2.Image = rotateImage(b, 60)
    End Sub

  36. #36
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile ارسال تعداد متغیر پارامتر به یک متود

    https://barnamenevis.org/showpo...&postcount=101

    با استفاده از کلمه کلیدی params مانند نمونه زیر :
    کد:

    Public Function Add(ByVal list() As Integer) As Integer
    Dim sum As Integer = 0
    For Each i As Integer In list
    sum += i
    Next
    Return sum
    End Function

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim ans2 As Integer = Add(New Integer() {1, 2, 3, 4, 5, 6, 7, 8, 9, 10})

    End Sub


  37. #37
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile Serialize کردن باینری آبجکت در فایل

    https://barnamenevis.org/showpo...&postcount=102

    Imports System.IO
    Imports System.Runtime.Serialization
    Imports System.Runtime.Serialization.Formatters.Binary


    Public Sub SerializeObject(ByVal filename As String, ByVal o As Object)

    Dim stream As Stream = File.Open(filename, FileMode.Create)
    Dim bFormatter As BinaryFormatter = New BinaryFormatter()
    bFormatter.Serialize(stream, o)
    stream.Close()
    End Sub

  38. #38
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile Serialize کردن object در XML

    https://barnamenevis.org/showpo...&postcount=105

    برای Serialize کردن یک object در فایل XML می تونین از این کد استفاده کنین:
    کد:

    Imports System.Xml.Serialization

    Dim xmSer As XmlSerializer = New XmlSerializer(GetType(Person))
    Dim st As FileStream = New FileStream("C:\Test.xml", FileMode.OpenOrCreate)
    Dim p As Person = New Person("Ali Rezaei", 44)
    xmSer.Serialize(st, p)
    st.Close()

  39. #39
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile DeSerialize کردن object از XML

    https://barnamenevis.org/showpo...&postcount=106

    Imports System.Xml.Serialization

    Dim xmSer As XmlSerializer = New XmlSerializer(GetType(Person))
    Dim st As FileStream = New FileStream("C:\Test.xml", FileMode.Open)
    Dim p As Person = xmSer.Deserialize(st)
    st.Close()

  40. #40
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile Serialize کردن object در SOAP XML

    https://barnamenevis.org/showpo...&postcount=107

    برای Serialize کردن object تون توی فایل Soap می تونین از این کد استفاده کنین.
    دقت کنین که باید System.Runtime.Serialization.Formatters.Soap رو Add Reference و Imports کنین.

    کد:

    Imports System.Runtime.Serialization.Formatters.Soap

    Dim soap As SoapFormatter = New SoapFormatter()
    Dim st As FileStream = New FileStream("C:\Test.soap", FileMode.OpenOrCreate)
    Person(p = New Person("Ali Rezaei", 33))
    soap.Serialize(st, p)
    st.Close()


صفحه 1 از 2 12 آخرآخر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •