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

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

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

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

    نکات این تاپیک با اجازه از کاربر sinpin از تاپیک نکات، ایده ها و ترفندهای کوچک برنامه نویسی در #C کپی شده و پس از تغییر زبان از سی شارپ به وی بی دات نت در این تاپیک نوشته شده است با درخواست ایشان تمام این نمونه کدها دارای لینکی به منبع اصلی انها در تالار سی شارپ است و من سعی کردم کدهای تا حد امکان بدون خطا تبدیل کنم اگر به هر نحوی خطایی در این کدها است لطفا با پیام خصوصی ان را به من متذکر شوید از نوشتن خطا ها در این تاپیک یا درخواستهای دیگر خودداری کنید نکاتی را که کاربر sinpin در تاپیک خودشان درج کردند را نیز من هم درج می کنم لطفا این نکات را رعایت فرمایید
    باز هم از دوستانی که این نکات را در تالار سی شارپ قرار دادند تشکر می کنم نام کاربری این دوستان به ترتیب تبدیل کدsinpin
    az_farzaneh-Masoud_TB-r.kiani- bermooda-razavi_university-saeid.yavary-danial82-pd_ze62-hassan razavi-shahali- dr_csharp-

    کدها به مرور اضافه خواهند شد من تا حالا بیش از 80 پست را تبدیل کردم اگر از دوستان کسی می خواهد در این کار به من کمک کند پیام خصوصی برای من بفرستد

    چند نکته قبل از فعالیت در این تاپیک:

    امکان ادامه دار بودن حیات چنین تاپیکهایی مستلزم رعایت دقیق نظم و استاندارد توسط تمامی دوستان است که در غیراینصورت و با بیراهه رفتن، همواره شاهد قفل شدن تاپیکهایی از این دست بوده ایم. لذا از تمامی دوستان استدعا دارم با رعایت نکات زیر در نظم این تاپیک سهیم باشند :

    0- سینتکس وی بی دات نت است

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

    1- چکیده نویسی

    نکات و ترفندها رو بصورت کاملا خلاصه، مفید و ماژولار (تمرکز هر پست تنها روی یک نکته باشد) پست نمایید و از درج هرگونه نکته ی طولانی خودداری و چنانچه نکته ی قابل توجه ای سراغ دارید که نیاز به کدنویسی و توضیحات طولانی دارد؛ تنها به یک اشاره کوچک بسنده و فایل سورس و یا توضیحات کامل را ضمیمه فرمایید.

    2- هر نکته ای مفید است

    بدلیل تنوع کاربران تالار و گستردگی زبان و فریمورک؛ لزومی ندارد نکته ای که ارسال میکنید موضوعی غامض و یا بسیار پیچیده و چشمگیر باشد؛ در واقع هر نکته ای که به شکل صحیح ارسال شودمیتواند مفید باشد.

    3- درج عنوان پست

    عنوان مناسب و مختصری برای مطلب ارسالی خود پیدا کرده و آن را در قسمت عنوان پست بنویسید. (تغییر عنوان پستها در "حالت پیشرفته" قابل دسترسی میباشد)
    عنوان پست را دقیق و قطعی انتخاب نمایید؛ برای مثال عنوان : "چند نکته مهم در سی شارپ" نامناسب است و یا بجای عنوان : "چند فیلم آموزشی مفید" بهتر است بنویسید : "معرفی لینک دانلود چند فیلم آموزشی ساده در مورد LINQ"

    4- درج رفرنس اصلی

    چنانچه نکته ارسالی را از منبعی برداشت میکنید لطفا لینک اصلی آن را نیز در انتهای مطلب درج فرمایید. (با اینکار دوستان میتوانند با مراجعه با اون لینک از جزییات نکته ارسالی نیز مطلع گردند.)

    5- عدم ارسال نکات تکراری و ادامه دار

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

    6- ارسال نکات تست شده

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

    7- عدم نمایش امضا و تصاویر بزرگ

    با توجه به ماهیت شلوغ این قبیل تاپیکها و جهت نظم بهتر؛ ترجیحا :

    * پستهای خود را بدون درج امضا ارسال نمایید.

    * جهت کند نشدن لودینگ صفحات از قرار دادن لینک تصاویر بزرگ خودداری و یا اینکه آنها را بصورت ضمیمه شده قرار دهید.

    8- ماهیت تاپیک

    این تاپیک محل مناسبی برای این موارد نیست :
    آموزش برنامه نویسی، سئوال و جواب کردن، سعی در اثبات برتری یک روش خاص، بحث و ارسال توضیحات اضافی، خورده گیری از مطالب ارسالی دیگران، ارسال مطالب غیرفنی و نامرتبط، انتشار ادعاهای کاذب، تشکرهای بیمورد و ...
    لذا چنانچه راجع به هر یک از نکات سئوال و یا مشکلی پیش آمد، لطفا موضوع رو از طریق ارسال پیام خصوصی به نویسنده مطلب و یا طرح در یک تاپیک مستقل، حل و فصل کنید.

    9- نظم و استاندارد تاپیک

    لطفا در نظم تاپیک کوشا باشید و چنانچه با پستی مواجه شدید که با توجه به بند شماره 9 به شکلی نامناسب ارسال شده بود؛ به جای تکرار اشتباه نویسنده قبلی، صرفا آن را به مدیران تالار گزارش کنید، قطعا آنان ما را در حفظ مسیر اصلی تاپیک یاری خواهند کرد.

    _______________________________

    از اینکه به حقوق خود و دیگران احترام میگذارید از شما متشکرم
    موفق باشید.
    آخرین ویرایش به وسیله ghafoori : پنج شنبه 08 فروردین 1387 در 10:11 صبح

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

    Smile اندکس

    اصول اولیه OOP و دات نت فریمورک :
    کار کردن با انواع داده ها :
    کار با کنترلها و کامپوننتها :
    آرایه ها و کالکشنها :
    دیتابیس و بانکهای اطلاعاتی :
    فایلها، استریمها (I/O) :
    گرافیک : GDI, GDI+, DirectX, OpenGL
    مالتی مدیا :
    نکات سیستمی :
    افزودن و حذف کردن یک برنامه به StartUp ویندوز از طریق کلیدهای رجیستری
    Hibernate و Standby کردن کامپیوتر
    قفل کردن کامپیوتر از طریق کدنویسی
    Shutdown، Restart و Logoff کردن یک کامپیوتر بوسیله کد
    بستن یک پروسه در حال اجرا
    بدست آوردن مسیر دایرکتوری جاری برنامه
    تغییر زبان پیشفرض ویندوز بصورت داینامیک در برنامه
    بدست آوردن مسیر فولدرهای ویژه
    یافتن شماره سریال و مدل تمامی هارددیسکهای موجود در یک سیستم
    اجرا کردن یک فایل اجرایی با کدنویسی
    فرستادن کلیدهای ترکیبی با SendKeys
    فرستادن کلیدهای ترکیبی با SendKeys (به صورت کامل)
    نمایش تصاویر در Windows picture and fax viewer از طریق کدنویسی
    برخی اعمال متدوال روی تاریخ میلادی
    باز کردن یک سایت توسط internet explorer
    بدست آوردن لیست تمامی فرمهای باز در یک برنامه
    restart کردن (بستن و مجددا اجرا کردن) برنامه
    ساده ترین راه برای جلوگیری از Not Respond شدن برنامه در حلقه های طولانی
    فقط یک نمونه از برنامه بتواند اجرا شود (با استفاده از Process)
    انجام عملیات متداول در رجیستری ویندوز
    Serialize کردن باینری آبجکت در فایل
    Serialize کردن object در XML
    DeSerialize کردن object از XML
    Serialize کردن object در SOAP XML
    DeSerialize کردن object از SOAP XML
    بدست آوردن شماره سریال پراسسور (CPU Id)
    DeSerialize کردن باینری آبجکت از فایل
    بدست آوردن نام شرکت سازنده پراسسور (CPU Manufacturer)
    بدست آوردن میزان فضای خالی یک درایو (پارتیشن)
    بدست آوردن حجم کلی یک درایو (پارتیشن)
    sort کردن آبجکتهای یک کلاس با پیاده سازی اینترفیس IComparable
    توزیع و Setup سازی:


    اینترنت، شبکه، ... :
    مباحث مختص دات نت فریمورک 3.0 و 3.5 :
    میانبرها و ترفندهای IDE :
    آخرین ویرایش به وسیله ghafoori : یک شنبه 11 فروردین 1387 در 13:04 عصر

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

    Smile حاشیه دار کردن کنترل TextBox با یک رنگ دلخواه

    منبع:https://barnamenevis.org/showpo...67&postcount=5


    در کلاس TextBox خود (و یا سایر کنترلهای دلخواه : کامبوباکس، لیست باکس و ...) بنویسید :
    کد:

    Private Shared WM_NCPAINT As Integer = &H85
    Private Shared WM_ERASEBKGND As Integer = &H14
    Private Shared WM_PAINT As Integer = &HF

    <DllImport("user32.dll")> _
    Shared Function GetDCEx(ByVal hwnd As IntPtr, ByVal hrgnclip As IntPtr, ByVal fdwOptions As UInt32) As IntPtr
    End Function
    <DllImport("user32.dll")> _
    Shared Function ReleaseDC(ByVal hwnd As IntPtr, ByVal hDC As IntPtr) As Integer
    End Function
    Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
    MyBase.WndProc(m)
    If m.Msg = WM_NCPAINT Or m.Msg = WM_ERASEBKGND Or m.Msg = WM_PAINT Then

    Dim hdc As IntPtr = GetDCEx(m.HWnd, CType(1, IntPtr), 1 Or &H20)

    If (hdc <> IntPtr.Zero) Then

    Dim graphics As Graphics = graphics.FromHdc(hdc)
    Dim borderColor As Color = Color.Blue
    Dim rectangle As Rectangle = New Rectangle(0, 0, Me.Width, Me.Height)
    ControlPaint.DrawBorder(graphics, rectangle, borderColor, ButtonBorderStyle.Solid)
    m.Result = CType(1, IntPtr)
    ReleaseDC(m.HWnd, hdc)
    End If
    End If
    End Sub


    توجه داشته باشید که انجام اینکار صرفا بوسیله override کردن رویداد paint و رسم یک مستطیل امکانپذیر نیست.

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

    Smile محو شدن تدریجی یک فرم با تغییر دادن خاصیت Opacity

    منبع:https://barnamenevis.org/showpo...68&postcount=6

    Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
    Me.Opacity = 1
    Dim i As Integer
    For i = 0 To 100
    Me.Opacity -= 0.01
    Application.DoEvents()
    Next
    End Sub

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

    Smile انتقال آیتمهای یک آرایه از اعداد به یک لیست باکس

    منبع:https://barnamenevis.org/showpo...69&postcount=7

    Dim numbers As Integer() = {12, 23, 34, 45, 56, 67}
    Dim oNumbers(numbers.Length) As Object
    numbers.CopyTo(oNumbers, 0)
    listBox1.Items.AddRange(oNumbers)

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

    Smile پیاده سازی حالت ساده ی الگوی سینگلتون در یک کلاس

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

    Class SingletonClass
    NotInheritable

    ' Static members are lazily initialized.
    ' .NET guarantees thread safety for static initialization
    Private Shared ReadOnly instance As SingletonClass = New SingletonClass()

    ' Note: constructor is private.
    Private Sub New()

    End Sub

    Public Shared Function GetInstance() As SingletonClass
    Return instance
    End Function

    End Class

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

    Smile رسم یک چندضلعی توپر روی یک فرم

    منبع:https://barnamenevis.org/showpo...72&postcount=9

    Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
    Dim g As Graphics = e.Graphics
    ' Create pen.
    Dim blackPen As Pen = New Pen(Color.Black, 3)
    ' Create points that define polygon.
    Dim point1 As Point = New Point(30, 50)
    Dim point2 As Point = New Point(100, 25)
    Dim point3 As Point = New Point(200, 5)
    Dim point4 As Point = New Point(250, 50)
    Dim point5 As Point = New Point(270, 100)
    Dim point6 As Point = New Point(250, 250)
    Dim curvePoints As Point() = {point1, point2, point3, point4, point5, point6}
    ' Draw polygon to screen.
    g.DrawPolygon(blackPen, curvePoints)
    ' Fill polygon
    g.FillPolygon(Brushes.Red, curvePoints)
    End Sub

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

    Smile کشیدن نقاشی با توابع ساده گرافیکی و ذخیره خروجی در یک فایل

    منبع:https://barnamenevis.org/showpo...1&postcount=10

    Public Sub Draw2File()

    Dim bmp As Bitmap = New Bitmap(500, 400)
    Dim gr As Graphics = Graphics.FromImage(bmp)
    Dim rect As Rectangle = New Rectangle(20, 20, 450, 350)
    gr.DrawRectangle(Pens.Red, rect)
    gr.FillRectangle(Brushes.Pink, rect)
    gr.DrawString("Salam", New Font("Arial", 10), Brushes.Red, 50, 50)
    gr.DrawArc(Pens.Red, 30, 30, 60, 60, 0, 180)
    gr.DrawEllipse(New Pen(Color.Yellow, 3), New Rectangle(200, 100, 200, 200))
    bmp.Save("C:\1.bmp")
    bmp.Dispose()
    gr.Dispose()
    End Sub

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

    Smile بدست آوردن لیست نمونه های SQL Server موجود در شبکه

    منبع:https://barnamenevis.org/showpo...0&postcount=11


    Imports System.Data.Sql

    Private Sub ShowSQLServerInstances()

    Dim instance As SqlDataSourceEnumerator = SqlDataSourceEnumerator.Instance
    Dim table As System.Data.DataTable = instance.GetDataSources()
    dataGridView1.DataSource = (table)
    End Sub

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

    Smile افزودن و حذف کردن یک برنامه به StartUp ویندوز از طریق کلیدهای رجیستری

    منبع:https://barnamenevis.org/showpo...5&postcount=12

    Private Sub AddStartUpKey(ByVal _name As String, ByVal _path As String)

    Dim key As RegistryKey = Registry.LocalMachine.OpenSubKey("Software\Microso ft\Windows\CurrentVersion\Run", True)
    key.SetValue(_name, _path)
    End Sub

    Private Sub RemoveStartUpKey(ByVal _name As String)

    Dim key As RegistryKey = Registry.LocalMachine.OpenSubKey("Software\Microso ft\Windows\CurrentVersion\Run", True)
    key.DeleteValue(_name, False)
    End Sub


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

    Smile Hibernate و Standby کردن کامپیوتر

    منبع:https://barnamenevis.org/showpo...5&postcount=13

    ' Hibernate
    Application.SetSuspendState(PowerState.Hibernate, True, True)

    '// Standby
    Application.SetSuspendState(PowerState.Suspend, True, True)


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

    Smile قفل کردن کامپیوتر از طریق کدنویسی

    منبع:https://barnamenevis.org/showpo...8&postcount=14

    Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
    '// Lock workstation
    LockWorkStation()
    End Sub

    <DllImport("user32.dll")> _
    Public Shared Sub LockWorkStation()
    End Sub

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

    Smile شفاف کردن پشت زمینه ی کنترلها

    منبع:https://barnamenevis.org/showpo...0&postcount=15

    ایجاد شفافیت کامل پشت زمینه ی یک کنترل :
    کد:

    control.BackColor = Color.Transparent


    تعیین میزان شفافیت یک کنترل:
    کد:

    control.BackColor = Color.FromArgb(trancparency, control.BackColor)

    در کد بالا مقدار trancparency از 0 (برای کاملا شفاف) تا 255 (کاملا کدر) قابل تغییر است.

    مثال : یک Label با شفافیت 50%
    کد:

    label1.BackColor = Color.FromArgb(127, label1.BackColor)

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

    Smile Shutdown، Restart و Logoff کردن یک کامپیوتر بوسیله کد

    منبع:https://barnamenevis.org/showpo...2&postcount=16

     Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
    '// Log Off
    ExitWindowsEx(0, 0)

    '// Reboot
    ExitWindowsEx(2, 0)

    '// Shutdown
    ExitWindowsEx(1, 0)

    '/ Force LogOff
    ExitWindowsEx(4, 0)
    End Sub

    <DllImport("user32.dll")> _
    Public Shared Function ExitWindowsEx(ByVal uFlags As Integer, ByVal dwReason As Integer) As Integer
    End Function


    و یا:

    '// Log Off
    System.Diagnostics.Process.Start("ShutDown", "/l")

    '// Reboot
    System.Diagnostics.Process.Start("ShutDown", "/r")

    '// Shutdown
    System.Diagnostics.Process.Start("ShutDown", "/s")


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

    Smile بستن یک پروسه در حال اجرا

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

    Imports System.Diagnostics

    For Each p As Process In Process.GetProcesses()

    If p.ProcessName.ToLower() = "notepad" Then
    p.Kill()
    End If
    Next

    و یا :
    کد:
    System.Diagnostics.Process.Start("TaskKill", "/f /im Notepad.exe /t")


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

    Smile Ping کردن یک کامپیوتر تحت شبکه

    منبع:https://barnamenevis.org/showpo...6&postcount=18


    Imports System.Net.NetworkInformation

    Dim remoteMachineNameOrIP As String = "127.0.0.1"
    Dim timeOut As Integer = 5
    Dim ping As Ping = New Ping()
    '// Pinging remote maching
    Dim reply As PingReply = ping.Send(remoteMachineNameOrIP, timeOut)
    '// Displaying the result
    Dim sb As StringBuilder = New StringBuilder()
    sb.Append("Address:" + reply.Address.ToString())
    sb.Append("\nStatus:" + reply.Status.ToString())
    sb.Append("\nRoundtripTime:" + reply.RoundtripTime.ToString())
    MessageBox.Show(sb.ToString(), "Ping Result: " + remoteMachineNameOrIP)


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

    Smile بدست آوردن مسیر دایرکتوری جاری برنامه

    منبع:https://barnamenevis.org/showpo...8&postcount=19

    کد:

    MessageBox.Show(AppDomain.CurrentDomain.BaseDirect  ory)


    یا :
    کد:

    MessageBox.Show(System.IO.Directory.GetCurrentDire  ctory())


    یا :
    کد:

    MessageBox.Show(Application.StartupPath)

    یا:
    کد:

    MessageBox.Show(System.IO.Path.GetDirectoryName(Ap  plication.ExecutablePath))


    کاربر bad_boy_2007 یاد اوری کردند با این کد هم می شود

    My.Application.Info.DirectoryPath

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

    Smile برگرداندن تعدادی مشخص و اتفاقی از رکوردها بوسیله کوئری

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


    مثال : برگرداندن 10 رکورد اخری که به جدول اضافه شده از جدول myTable
    کد:

    SELECT TOP 10 id,title
    FROM myTable
    ORDER BY NEWID()

    آخرین ویرایش به وسیله ghafoori : پنج شنبه 01 فروردین 1387 در 20:11 عصر دلیل: کاربر bad_boy_2007 مشکلی در کدها پیدا کرده بود اصلاح شد

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

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

    منبع:https://barnamenevis.org/showpo...2&postcount=21

    کاربرد : زمانی که نمیتوان از یک الگوریتم بازگشتی استفاده کرد؛ برای مثال کنترلها در Container های متفاوتی هستند و تنها تعداد خاصی از آنها باید Clear شوند.
    کد:

    Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
    ClearControls(TextBox1, textBox2, comboBox1)
    End Sub

    Public Sub ClearControls(ByVal ctls As Control())
    For Each ct As Control In ctls
    ct.Text = ""
    Next
    End Sub


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

    Smile عوض کردن نشانگر ماوس (cursor) روی یک کنترل

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

    استفاده از کرسرهای پیشفرض محیط :
    کد:

    Button1.Cursor = Cursors.Hand


    لود کردن یک کرسر سفارشی از فایل :
    کد:

    button1.Cursor = new Cursor("C:\WINDOWS\Cursors\hibeam.cur")

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

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

    منبع:https://barnamenevis.org/showpo...5&postcount=23

    کد:

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

    Public Sub ClearControls(ByVal _parent As Control)
    _parent.Text = ""
    If _parent.HasChildren = True Then
    For Each ct As Control In _parent.Controls
    ClearControls(ct)
    Next
    End If

    End Sub
    آخرین ویرایش به وسیله ghafoori : پنج شنبه 01 فروردین 1387 در 20:12 عصر دلیل: کاربر bad_boy_2007 مشکلی در کدها پیدا کرده بود اصلاح شد

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

    Smile بدست آوردن آخرین Identity اضافه شده به جدول

    منبع:https://barnamenevis.org/showpo...0&postcount=24

    کد:

    INSERT INTO Sales.Customer ([TerritoryID],[CustomerType]) VALUES (8,'S')
    GO
    SELECT SCOPE_IDENTITY()

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

    Smile ایجاد کردن یک Property

    منبع:https://barnamenevis.org/showpo...2&postcount=25

    برای اینکه خیلی سریع یک Property ایجاد کنی کافیه که کلمه prop رو تایپ کنین و دوباره Tab بزنین. بعد نوع داده ای , نام متغییر private و در نهایت نام Propety مورد نظرتون. با تایپ کردن 5 کلمه Property تون آمادست.

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

    Smile ایجاد فرمهایی با اشکال غیرمستطیلی

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

    ایجاد یک فرم دایره ای شکل :
    کد:



    Me.Height = 350
    Me.Width = 350
    '//Creating circle path
    Dim path As System.Drawing.Drawing2D.GraphicsPath = New System.Drawing.Drawing2D.GraphicsPath()
    path.AddEllipse(0, 0, 300, 300)
    '//Creating the region from the circle path
    Me.Region = New Region(path)
    Me.Show()

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

    Smile قطع کردن اتصال اینترنت دایل آپ از طریق دستورات خط فرمان

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

    کد:

    System.Diagnostics.Process.Start("rasdial", "/disconnect")

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

    Smile تغییر زبان پیشفرض ویندوز بصورت داینامیک در برنامه

    منبع:https://barnamenevis.org/showpo...8&postcount=33

    کد:


    Public Shared Sub SetLanguage2English()
    InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(New CultureInfo("en-US"))
    End Sub

    Public Shared Sub SetLanguage2Farsi()
    InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(New CultureInfo("fa-IR"))
    End Sub

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

    Smile ایجاد طیف رنگ (Gradient) بعنوان پشت زمینه ی کنترلها

    منبع:https://barnamenevis.org/showpo...3&postcount=34

    کد:

    Imports System.Drawing.Drawing2D
    Imports System.Drawing


    Public Sub PaintGradient(ByVal _control As Control, ByVal _direction As LinearGradientMode, ByVal _gradientColorStart As Color, ByVal _gradientColorEnd As Color)

    Dim gradBrush As LinearGradientBrush
    gradBrush = New LinearGradientBrush(New Rectangle(0, 0, _control.Width, _control.Height), _gradientColorStart, _gradientColorEnd, _direction)
    Dim bmp As Bitmap = New Bitmap(_control.Width, _control.Height)
    Dim g As Graphics = Graphics.FromImage(bmp)
    g.FillRectangle(gradBrush, New Rectangle(0, 0, _control.Width, _control.Height))
    _control.BackgroundImage = bmp
    _control.BackgroundImageLayout = ImageLayout.Stretch
    End Sub



    حال این متود رو در رخداد Paint کنترلهای دلخواه (فرم، دکمه، پنل ...) بنویسید :
    کد:


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    PaintGradient(Me, LinearGradientMode.Vertical, Color.RoyalBlue, Color.DarkBlue)
    End Sub




    خصوصا ظاهر بهتر و مناسبتری برای دکمه های شما ایجاد میکند.

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

    Smile چگونه از یک فرم تنها یک عدد بتواند باز شود ؟ (توسط Generic Singleton)

    منبع:https://barnamenevis.org/showpo...3&postcount=35


    با استفاده از پیاده سازی ژنریک الگوی سینگلتون :

    کد:

    public class SingletonProvider(Of T As new)
    Sub New()

    End Sub

    Public Shared ReadOnly Property Instance() As T
    Get
    Return SingletonCreator.Instance
    End Get
    End Property

    Class SingletonCreator

    Shared Sub New()

    End Sub
    Private Shared _instance As T
    Public Shared ReadOnly Property Instance() As T
    Get

    Dim frm As System.Windows.Forms.Form = CType(CType(Instance, Object), Windows.Forms.Form)
    If Instance Is Nothing Then
    Instance = New T
    End If
    Return Instance
    End Get
    End Property
    End Class
    End Class



    و برای استفاده :
    کد:

    Dim boat As Form = SingletonProvider(Of Form).Instance
    boat.Show()

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

    Smile طریقه تغییر دادن خاصیت FontStyle یک کنترل در زمان اجرا

    منبع:https://barnamenevis.org/showpo...5&postcount=36

    کد:

    TextBox1.Font = New Font(TextBox1.Font, FontStyle.Bold Or FontStyle.Italic Or FontStyle.Underline)

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

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

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


    برای مثال :
    کد:
    Dim path As String = Environment.GetFolderPath(Environment.SpecialFolde  r.ProgramFiles)


    سایر مسیرها قابل دستیابی با این روش :
    کد:

    Desktop, MyDocuments, System, ...

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

    Smile خواندن و نوشتن فایل به صورت unicode با استفاده از richTextBox

    منبع:https://barnamenevis.org/showpo...2&postcount=39

    کد:


    '// read text file
    richTextBox1.LoadFile("C:\Log.txt", RichTextBoxStreamType.UnicodePlainText)
    '// save text file
    richTextBox1.SaveFile("C:\Log.txt", RichTextBoxStreamType.UnicodePlainText)


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

    Smile جابجا کردن فرم با کلیک بر روی هر قسمت از آن - با استفاده از توابع API

    منبع:https://barnamenevis.org/showpo...5&postcount=40

    کد:


    <DllImport("user32.dll")> _
    Shared Function ReleaseCapture() As Integer
    End Function
    Declare Auto Function SendMessageA Lib "user32.dll" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Object) As Integer

    Private Const WM_NCLBUTTONDOWN As Integer = 161

    Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
    ReleaseCapture()
    SendMessageA(Me.Handle.ToInt32(), WM_NCLBUTTONDOWN, 2, 0)
    End Sub

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

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

    منبع:https://barnamenevis.org/showpo...2&postcount=41

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

    Imports System.Management

    Private Sub GetHDDSerialNumber()

    Dim searcher As ManagementObjectSearcher
    Dim query1 As String = "SELECT * FROM Win32_DiskDrive"
    Dim query2 As String = "SELECT * FROM Win32_PhysicalMedia"

    searcher = New ManagementObjectSearcher(query1)
    For Each wmi_HD As ManagementObject In searcher.Get()
    If Not wmi_HD("Model") Is Nothing Then
    MessageBox.Show(wmi_HD("Model").ToString())
    End If
    Next
    searcher = New ManagementObjectSearcher(query2)
    For Each wmi_HD As ManagementObject In searcher.Get()
    If Not wmi_HD("SerialNumber") Is Nothing Then
    MessageBox.Show(wmi_HD("SerialNumber").ToString())
    End If
    Next

    End Sub

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

    Smile اجرا کردن یک فایل اجرایی با کدنویسی

    منبع:https://barnamenevis.org/showpo...7&postcount=43

    کد:

    System.Diagnostics.Process.Start("mspaint.exe")


    چنانچه فایل اجرایی نیاز به آرگومان خط فرمان داشته باشد :
    کد:

    System.Diagnostics.Process.Start("mspaint.exe", "c:\Test.bmp")


    مثال بالا تصویر Test را در msPaint باز میکند.

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

    Smile ایجاد متن و رشته های چند سطری

    منبع:https://barnamenevis.org/showpo...1&postcount=44

    کد:


    Dim myString1 As String = "This is the first line of my string." + vbCrLf _
    + "This is the second line of my string." + vbCrLf + _
    "This is the third line of the string." + vbCrLf

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

    Smile روشهای Initialize کردن انواع آرایه ها

    منبع:https://barnamenevis.org/showpo...7&postcount=45

    '// Single-dimensional array (numbers).
    Dim n1 As Integer() = {2, 4, 6, 8}
    Dim n2() As Integer = {2, 4, 6, 8}

    '// Single-dimensional array (strings).
    Dim s1() As String = New String() {"John", "Paul", "Mary"}
    Dim s3 As String() = {"John", "Paul", "Mary"}

    '// Multidimensional array.
    Dim n4 As Integer(,) = {{1, 2}, {3, 4}, {5, 6}}
    Dim n6(,) As Integer = {{1, 2}, {3, 4}, {5, 6}}


    ' // Jagged array.
    Dim n7 As Integer()() = {New Integer() {2, 4, 6}, New Integer() {1, 3, 5, 7, 9}}
    Dim n9()() As Integer = {New Integer() {2, 4, 6}, New Integer() {1, 3, 5, 7, 9}}

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

    Smile ایجاد تصاویر Bitmap در زمان اجرا

    منبع:https://barnamenevis.org/showpo...2&postcount=46
    کد:

    Private Function CreateBitmap() As Image

    Dim flag As Bitmap = New System.Drawing.Bitmap(10, 10)
    Dim x, y As Integer
    For x = 0 To flag.Height
    For y = 0 To flag.Width
    flag.SetPixel(x, y, Color.White)
    Next
    Next

    For x = 0 To flag.Height
    flag.SetPixel(x, x, Color.Red)
    Next
    Return flag
    End Function


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

    فراخونی یک رویداد از داخل رویداد دیگر

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    MessageBox.Show(sender.Text)
    End Sub


    و


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim arg As New System.EventArgs
    Form1_Load(Button1, arg)
    End Sub


  39. #39
    کاربر دائمی
    تاریخ عضویت
    آبان 1385
    محل زندگی
    مشهد
    سن
    38
    پست
    449
    نقل قول نوشته شده توسط ghafoori مشاهده تاپیک
    منبع: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

    من هم از این کد تو فرمهام استفاده میکنم ولی یک مشکل دارم اونم اینه که اگه بخوام Shift + Tab رو بزنم چطور باید کار کنم ؟؟؟

    نقل قول نوشته شده توسط raravaice مشاهده تاپیک
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    MessageBox.Show(sender.Text)
    End Sub
    و


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim arg As New System.EventArgs
    Form1_Load(Button1, arg)
    End Sub

    بجای این کد میتونید از کد زیر هم استفاده کنید که مختصر تره :

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


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

    Smile فرستادن کلیدهای ترکیبی با SendKeys

    کد

    'shift tab
    SendKeys.Send("+{TAB}")
    'ctrl tab
    SendKeys.Send("^{TAB}")
    'alt tab
    SendKeys.Send("%{TAB}")


    لطفا اشکالها و پیشنهاد ها را با پیام خصوصی ارسال کنید تا نظم تاپیک بهم نخورد

صفحه 1 از 3 123 آخرآخر

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

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