none
Visual Studio 2010 ile MsgBox'ta PictureBox nesnesi ile resim gösterme RRS feed

  • Soru

  • Visual Studio 2010 ile MsgBox'ta PictureBox nesnesi ile resim gösterme nasıl oluyor acaba? Bilgisi olan arkadaşların yardımcı olmasını önemle rica ederim
    27 Eylül 2011 Salı 13:44

Yanıtlar

  • MsgBox sınıfı bir kontrol container'ı değildir ve herhangi bir kontrol içerisine gömülemez. Bundan dolayı picturebox'u kendi yaratacağınız modal bir form aracılığı ile -msgbox'mış gibi kullanabilirsiniz. 'Msgbox' dediğinize göre VB.NET kullanıyorsunuz (başlığı ilgili foruma açınız!):

    Bu durumda, bir form yaratıp, picturebox'u bunun için dock'layıp, modal olarak gösterelim:

    ' Tüm form1 kodu, form1.vb:

    Public Class Form1
        Dim msgbox_form As New Form

        Sub ResimGoster(ByVal yol As String)
            Dim pbox As New PictureBox
            pbox.Name = "resim"
            Dim ok_dugmesi As New Button
            ok_dugmesi.Name = "dugme"
            ok_dugmesi.Text = "Tamam"

            msgbox_form.Controls.Add(pbox)
            msgbox_form.Controls.Add(ok_dugmesi)
            msgbox_form.Controls("resim").Dock = DockStyle.Fill

            ' Buraya resim yolu getir!
            ' Önceki başlıkta combobox kullanmıştınız:
            'pbox.Image = Image.FromFile(ComboBox1.SelectedItem.ToString())
            '...de olabilir.
            pbox.Image = Image.FromFile(yol)
            pbox.Size = pbox.Image.Size
            msgbox_form.ClientSize = New Size(pbox.Image.Size.Width, pbox.Image.Size.Height + 40)
            msgbox_form.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedDialog
            msgbox_form.ControlBox = False
            msgbox_form.StartPosition = FormStartPosition.CenterScreen
            ok_dugmesi.Left = ((pbox.Image.Width / 2) - (ok_dugmesi.Width / 2))
            ok_dugmesi.Top = pbox.Image.Height + 10
            ok_dugmesi.BringToFront()
            AddHandler ok_dugmesi.Click, AddressOf tıklandı
            msgbox_form.ShowDialog()
        End Sub

        Sub tıklandı(ByVal sender As Object, ByVal e As System.EventArgs)
            msgbox_form.Close()
            msgbox_form.Controls.Remove(msgbox_form.Controls("resim"))
            msgbox_form.Controls.Remove(msgbox_form.Controls("dugme"))
        End Sub

        Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
            ResimGoster(Convert.ToString(ComboBox1.SelectedItem))
        End Sub

    End Class

    Kodda, mevcut formunuz içerisinde dinamik olarak oluşturulan ikinci bir modal form ve bu modal form içerisinde bir adet "tamam" düğmesi mahiyetinde button ve resim göstermek için bir adet "picturebox" yer almaktadır.

    "ResimGoster" methodunu kullanmak için kısaca:

    ResimGoster("c:\resim.jpg")

    ...diyerek methodu çağırıp resmi modal olarak mevcut formunuzun üzerinde yeni form içinde açıp gösterebilirsiniz (combobox'un SelectedIndexChanged olayında veya buton kullanıyorsanız button_click olayında da çağırabilirsiniz).

    Gibi:

    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

    ResimGoster(Convert.ToString(comboBox1.SelectedItem))

    End Sub

    ..şeklinde.

    İyi çalışmalar.


    Best regards, Saygılarımla, Onur Güzel

    Yazgeliştir Forumları VB.NET / C# Süper Moderatorü.

    Microsoft Haber Grupları Profilim (VB.NET)

    • Düzenleyen Onur Güzel 27 Eylül 2011 Salı 16:12
    • Yanıt Olarak İşaretleyen Madem34 27 Eylül 2011 Salı 18:40
    27 Eylül 2011 Salı 15:55

Tüm Yanıtlar

  • MsgBox sınıfı bir kontrol container'ı değildir ve herhangi bir kontrol içerisine gömülemez. Bundan dolayı picturebox'u kendi yaratacağınız modal bir form aracılığı ile -msgbox'mış gibi kullanabilirsiniz. 'Msgbox' dediğinize göre VB.NET kullanıyorsunuz (başlığı ilgili foruma açınız!):

    Bu durumda, bir form yaratıp, picturebox'u bunun için dock'layıp, modal olarak gösterelim:

    ' Tüm form1 kodu, form1.vb:

    Public Class Form1
        Dim msgbox_form As New Form

        Sub ResimGoster(ByVal yol As String)
            Dim pbox As New PictureBox
            pbox.Name = "resim"
            Dim ok_dugmesi As New Button
            ok_dugmesi.Name = "dugme"
            ok_dugmesi.Text = "Tamam"

            msgbox_form.Controls.Add(pbox)
            msgbox_form.Controls.Add(ok_dugmesi)
            msgbox_form.Controls("resim").Dock = DockStyle.Fill

            ' Buraya resim yolu getir!
            ' Önceki başlıkta combobox kullanmıştınız:
            'pbox.Image = Image.FromFile(ComboBox1.SelectedItem.ToString())
            '...de olabilir.
            pbox.Image = Image.FromFile(yol)
            pbox.Size = pbox.Image.Size
            msgbox_form.ClientSize = New Size(pbox.Image.Size.Width, pbox.Image.Size.Height + 40)
            msgbox_form.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedDialog
            msgbox_form.ControlBox = False
            msgbox_form.StartPosition = FormStartPosition.CenterScreen
            ok_dugmesi.Left = ((pbox.Image.Width / 2) - (ok_dugmesi.Width / 2))
            ok_dugmesi.Top = pbox.Image.Height + 10
            ok_dugmesi.BringToFront()
            AddHandler ok_dugmesi.Click, AddressOf tıklandı
            msgbox_form.ShowDialog()
        End Sub

        Sub tıklandı(ByVal sender As Object, ByVal e As System.EventArgs)
            msgbox_form.Close()
            msgbox_form.Controls.Remove(msgbox_form.Controls("resim"))
            msgbox_form.Controls.Remove(msgbox_form.Controls("dugme"))
        End Sub

        Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
            ResimGoster(Convert.ToString(ComboBox1.SelectedItem))
        End Sub

    End Class

    Kodda, mevcut formunuz içerisinde dinamik olarak oluşturulan ikinci bir modal form ve bu modal form içerisinde bir adet "tamam" düğmesi mahiyetinde button ve resim göstermek için bir adet "picturebox" yer almaktadır.

    "ResimGoster" methodunu kullanmak için kısaca:

    ResimGoster("c:\resim.jpg")

    ...diyerek methodu çağırıp resmi modal olarak mevcut formunuzun üzerinde yeni form içinde açıp gösterebilirsiniz (combobox'un SelectedIndexChanged olayında veya buton kullanıyorsanız button_click olayında da çağırabilirsiniz).

    Gibi:

    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

    ResimGoster(Convert.ToString(comboBox1.SelectedItem))

    End Sub

    ..şeklinde.

    İyi çalışmalar.


    Best regards, Saygılarımla, Onur Güzel

    Yazgeliştir Forumları VB.NET / C# Süper Moderatorü.

    Microsoft Haber Grupları Profilim (VB.NET)

    • Düzenleyen Onur Güzel 27 Eylül 2011 Salı 16:12
    • Yanıt Olarak İşaretleyen Madem34 27 Eylül 2011 Salı 18:40
    27 Eylül 2011 Salı 15:55
  • MsgBox sınıfı bir kontrol container'ı değildir ve herhangi bir kontrol içerisine gömülemez. Bundan dolayı picturebox'u kendi yaratacağınız modal bir form aracılığı ile -msgbox'mış gibi kullanabilirsiniz. 'Msgbox' dediğinize göre VB.NET kullanıyorsunuz (başlığı ilgili foruma açınız!):

    Bu durumda, bir form yaratıp, picturebox'u bunun için dock'layıp, modal olarak gösterelim:

    ' Tüm form1 kodu, form1.vb:

    Public Class Form1
        Dim msgbox_form As New Form

        Sub ResimGoster(ByVal yol As String)
            Dim pbox As New PictureBox
            pbox.Name = "resim"
            Dim ok_dugmesi As New Button
            ok_dugmesi.Name = "dugme"
            ok_dugmesi.Text = "Tamam"

            msgbox_form.Controls.Add(pbox)
            msgbox_form.Controls.Add(ok_dugmesi)
            msgbox_form.Controls("resim").Dock = DockStyle.Fill

            ' Buraya resim yolu getir!
            ' Önceki başlıkta combobox kullanmıştınız:
            'pbox.Image = Image.FromFile(ComboBox1.SelectedItem.ToString())
            '...de olabilir.
            pbox.Image = Image.FromFile(yol)
            pbox.Size = pbox.Image.Size
            msgbox_form.ClientSize = New Size(pbox.Image.Size.Width, pbox.Image.Size.Height + 40)
            msgbox_form.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedDialog
            msgbox_form.ControlBox = False
            msgbox_form.StartPosition = FormStartPosition.CenterScreen
            ok_dugmesi.Left = ((pbox.Image.Width / 2) - (ok_dugmesi.Width / 2))
            ok_dugmesi.Top = pbox.Image.Height + 10
            ok_dugmesi.BringToFront()
            AddHandler ok_dugmesi.Click, AddressOf tıklandı
            msgbox_form.ShowDialog()
        End Sub

        Sub tıklandı(ByVal sender As Object, ByVal e As System.EventArgs)
            msgbox_form.Close()
            msgbox_form.Controls.Remove(msgbox_form.Controls("resim"))
            msgbox_form.Controls.Remove(msgbox_form.Controls("dugme"))
        End Sub

        Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
            ResimGoster(Convert.ToString(ComboBox1.SelectedItem))
        End Sub

    End Class

    Kodda, mevcut formunuz içerisinde dinamik olarak oluşturulan ikinci bir modal form ve bu modal form içerisinde bir adet "tamam" düğmesi mahiyetinde button ve resim göstermek için bir adet "picturebox" yer almaktadır.

    "ResimGoster" methodunu kullanmak için kısaca:

    ResimGoster("c:\resim.jpg")

    ...diyerek methodu çağırıp resmi modal olarak mevcut formunuzun üzerinde yeni form içinde açıp gösterebilirsiniz (combobox'un SelectedIndexChanged olayında veya buton kullanıyorsanız button_click olayında da çağırabilirsiniz).

    Gibi:

    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

    ResimGoster(Convert.ToString(comboBox1.SelectedItem))

    End Sub

    ..şeklinde.

    İyi çalışmalar.


    Best regards, Saygılarımla, Onur Güzel

    Yazgeliştir Forumları VB.NET / C# Süper Moderatorü.

    Microsoft Haber Grupları Profilim (VB.NET)

    Çok teşekkür ederim. Forum'u çözemediğim için yanlış yere açmışım, kusuruma bakmayın...
    27 Eylül 2011 Salı 18:41