26 Eylül 2019 Perşembe

VB.Net Tabcontrol Tabpages close button without image


Public Class Form1
    Dim MyTabControl As New TabControl
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        With MyTabControl
            .DrawMode = TabDrawMode.OwnerDrawFixed
            .Dock = DockStyle.Fill
            .SizeMode = TabSizeMode.Fixed
            .ItemSize = New Size(200, 30)
            .Controls.Add(New TabPage("Page1"))
            .Controls.Add(New TabPage("Page2"))
            .Controls.Add(New TabPage("Page3"))
            AddHandler .DrawItem, AddressOf MyTabcontrol_DrawItem
            AddHandler .MouseClick, AddressOf MyTabcontrol_MouseClick
        End With
        Me.Controls.Add(MyTabControl)
    End Sub
    Public Sub MyTabcontrol_DrawItem(ByVal sender As System.Object, ByVal e As DrawItemEventArgs)
        Dim TC As TabControl = CType(sender, TabControl)
        Dim TabRec As Rectangle = TC.GetTabRect(e.Index)
        Dim Clr As Color = If(e.State = DrawItemState.Selected, Color.White, Color.LightGray)
        e.Graphics.FillRectangle(New SolidBrush(Clr), TabRec)
        Dim sf As New StringFormat
        sf.Alignment = StringAlignment.Center
        sf.LineAlignment = StringAlignment.Center
        sf.FormatFlags = StringFormatFlags.NoWrap
        If e.State = DrawItemState.Selected Then
            Dim BTNRec As New Rectangle(TabRec.X + TabRec.Width - 30, 8, 18, 18)
            e.Graphics.FillRectangle(Brushes.Red, BTNRec)
            e.Graphics.DrawRectangle(Pens.DarkRed, BTNRec)
            e.Graphics.DrawString("X", New Font(Me.Font.FontFamily, 8, FontStyle.Bold), Brushes.Black, BTNRec, sf)
        End If

        e.Graphics.DrawString(TC.TabPages(e.Index).Text, Me.Font, Brushes.Black, TabRec, sf)
        TabRec.Inflate(-3, -3)
        Dim Pn As Pen = If(e.State = DrawItemState.Selected, New Pen(Color.Green, 2), New Pen(Color.Red, 1))
        e.Graphics.DrawRectangle(Pn, TabRec)
        e.DrawFocusRectangle()
    End Sub
    Private Sub MyTabcontrol_MouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        Dim TC As TabControl = CType(sender, TabControl)
        Dim Rec As Rectangle = MyTabControl.GetTabRect(MyTabControl.SelectedIndex)
        Dim HitTest As New Rectangle(Rec.X + Rec.Width - 30, 8, 18, 18)
        If HitTest.Contains(New Point(e.X, e.Y)) Then
            If Not TC.TabPages.Count = 1 Then
                TC.TabPages.Remove(TC.SelectedTab)
            End If
        End If
    End Sub
End Class

VB.Net Internet Explorer Browser Emulation

Firstly add this code in Form1 class

    Sub SetBrowser()

        Dim Key As String = "Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION"

        Dim AppName As String = System.Diagnostics.Process.GetCurrentProcess().ProcessName + ".exe"

        Dim Mode As Integer = 9999

        Dim RKey As RegistryKey = Registry.CurrentUser.CreateSubKey(Key)

        If Not CBool(RKey.GetValue(AppName, False)) Then

            RKey.SetValue(AppName, Mode, RegistryValueKind.DWord)

            System.Threading.Thread.Sleep(1000)

        End If

        RKey.Close()

    End Sub
After add this code Form1 Load

SetBrowser()

        'HKEY_CURRENT_USER is recommended if you do not want to run your application with administrative privileges.

        InternetExplorer.SetLatestBrowserEmulation(InternetExplorer.RegistryRoot.HKEY_LOCAL_MACHINE)

        InternetExplorer.SetLatestBrowserEmulation(InternetExplorer.RegistryRoot.HKEY_CURRENT_USER)

Do not forget change option WebBrowser1 ScriptErrorsSuppressed True

3 Mayıs 2019 Cuma

VB.NET Remote Mysql Database Connection

Firstly download this file.

https://www.cryptool.org/trac/CrypTool2/export/2020/trunk/AppReferences/x64/MySql.Data.dll

After add import Mysql Data Client in to form

Imports MySql.Data.MySqlClient

and connect remote mysql database vith vb.net

MySqlConnection("server=remotemysql.com; User Id=FKQwSrN1Hj; pwd=2R9f6eYDaa; database=FKQwSrN1Hj;")
       

All Codes:

Imports MySql.Data.MySqlClient
Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim MySQLconn As New MySqlConnection
        MySQLconn = New MySqlConnection("server=remotemysql.com; User Id=FKQwSrN1Hj; pwd=2R9f6eYDaa; database=FKQwSrN1Hj;")
        Try
            MySQLconn.Open()
            MsgBox("Connection Sucess", vbOKOnly)
            MySQLconn.Close()
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try

    End Sub
End Class

1 Mayıs 2019 Çarşamba

VB.NET Küsüratlı Türk Lirası Toplamak

VB.NET Küsüratlı Türk Lirası Toplamak için internet te hiç kaynak yok, ben de biraz zaman harcayarak sorunsuz ve çok kolay bir şekilde bu problemi hallettim.

Öncelikle formumuza 2 adet TextBox oluşturuyoruz.
Sonra altına bir tane Button oluşturuyoruz.
Altına da bir adet label ekliyoruz.

Kodda da gördüğünüz gibi a ve b değişkenlerinin veri tipini Double olarak ayarlıyoruz, sonra FormatCurrency fonksiyonu ile a ile b değerini topluyoruz, çıkan sonuç tam küsüratlı olarak hem de TL işareti ile bize veriliyor.

Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ' TextBox1 değeri 1.561,17  // Bin Beşyüz Altmış Bir TL On Yedi Kuruş
        ' TextBox2 değeri 2,5       // İki TL Elli Kuruş
        Dim a As Double = TextBox1.Text
        Dim b As Double = TextBox2.Text
        Label1.Text = FormatCurrency(a + b)
    End Sub
End Class

Sonuç




Programı çalıştırdığınızda formata uygun TL ve kuruş değeri para birimlerini sıkıntısız toplayabilirsiniz.

26 Nisan 2019 Cuma

VB.NET Create Dynamic TabControl and WebBrowser with ini section names


Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim LoadSettings As New clsIni("C:\settings.ini")
        Dim sites As String
        Dim url As String
        Dim array() As Integer = {1, 2, 3}
        Dim tb As TabControl = New TabControl
        For i As Integer = 1 To array.Length - 1
            sites = LoadSettings.GetString("site" & i, "name", "")
            url = LoadSettings.GetString("site" & i, "url", "")
            Dim page As TabPage = New TabPage
            Dim browser As WebBrowser = New WebBrowser
            tb.TabPages.Add(page)
            page.Text = sites
            Me.Controls.Add(tb)
            tb.Dock = DockStyle.Fill
            page.Controls.Add(browser)
            browser.Navigate(url)
            browser.Dock = DockStyle.Fill
        Next
    End Sub
End Class

VB.NET Create Filled Form Dynamic TabControl with ini section names


Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim LoadSettings As New clsIni("C:\settings.ini")

        Dim sites As String       

        Dim tb As TabControl = New TabControl

        For i As Integer = 1 To array.Length - 1

            sites = LoadSettings.GetString("site" & i, "name", "")

            Dim page As TabPage = New TabPage

            tb.TabPages.Add(page)

            page.Text = sites

            Me.Controls.Add(tb)

            tb.Dock = DockStyle.Fill

        Next

    End Sub

End Class

VB.NET Create Filled Form Dynamic TabControl


Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim tab As TabControl = New TabControl

        Dim page1 As TabPage = New TabPage

        tab.TabPages.Add(page1)

        Me.Controls.Add(tab)

        tab.Dock = DockStyle.Fill



    End Sub

End Class