Hei taas :)
Alla oleva koodi on ok
If KojeenValinta.SelectedIndex = 0 Then Select Case KojeenYläpuoli.SelectedIndex Case 0 If KojeenYläpuoli.SelectedIndex = 0 Then KuvaYläpuoli.Refresh() KuvaYläpuoli.Image = System.Drawing.Image.FromFile("c:\kuvat\K1lapaAmalliY1.bmp") KuvaAlapuoli.Visible = True Else KuvaYläpuoli.Visible = False End If Case 1 If KojeenYläpuoli.SelectedIndex = 1 Then KuvaYläpuoli.Refresh() KuvaYläpuoli.Image = System.Drawing.Image.FromFile("c:\kuvat\K1lapaAmalliY2.bmp") KuvaYläpuoli.Visible = True Else KuvaYläpuoli.Visible = False End If\K1lapaAmalliY1.bmp")
Seuraavalla formilla kutsutaan kuvaa
Private Sub Laskenta_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load PictureBox2.Image = Kiskonvalinta.KuvaAlapuoli.Image PictureBox1.Image = Kiskonvalinta.KuvaYläpuoli.Image End Sub
Saan lomakkeelle kuvan. ongelma olisi picturebox 1 ja 2.image. Haluaisin tähän eri version kuin edelliselle lomakkeelle. kuvaa olisi päivitetty mitoitustiedoilla. lisäisin tiedoston nimen alkuun M kirjaimen kuvaamaan mitoitusta. kuva joka näkyisi picture box1 tai 2 laatikossa olisi muotoa ("c:\kuvat\MK1lapaAmalliY2.bmp") tiedoston nimeen siis lisätty M kirjain
Tajuskohan kukaan.. toivottavasti annan kyllä lisää tietoa jos tarvetta
Mikset siis laita siihen System.Drawing.Image.FromFile("c:\kuvat\
Jos tarkoitat kysyä, miten oliosta Kiskonvalinta.KuvaAlapuoli.Image selviää kuvan polku, niin väitänpä, ettei mitenkään. Joudut siis joka tapauksessa tuon polun tallentamaan erikseen johonkin muuttujaan, ja saman tien voit minusta tallentaa myös M-version polusta.
Kitokset vastauksesta
Laitoin nyt seuraavanlaisesti:
Case 0 If KojeenYläpuoli.SelectedIndex = 0 Then KuvaYläpuoli.Refresh() KuvaYläpuoli.Image = System.Drawing.Image.FromFile("c:\kuvat\K1lapaAmalliY1.bmp") Laskenta.PictureBox1.Image = System.Drawing.Image.FromFile("c:\kuvat\MK1lapaAmalliY1.bmp") KuvaAlapuoli.Visible = True
Ja tämä toimii. Ajattelin ehkä liian vaikeasti asiaa
Moikka Puoliväkisten!
testaa oheista systeemiä & vääntele mieleiseksesi...
Imports System Imports System.IO Imports System.Drawing Imports System.Windows.Forms Public Partial Class MainForm: Inherits Form Friend basePath As DirectoryInfo Friend pics() As FileInfo Public Sub New() Me.InitializeComponent() End Sub Sub Button1Click(sender As Object, e As EventArgs) End Sub Sub MainFormLoad(sender As Object, e As EventArgs) ComboBox1.Items.Add("") basePath = New DirectoryInfo("C:\kuvat\") pics = basePath.GetFiles("*.bmp") For i As Integer = 0 To pics.GetUpperBound(0) If pics(i).ToString.Substring(0, 1) <> "M" Then ComboBox1.Items.Add(pics(i).ToString) End If Next ComboBox1.SelectedIndex = 0 pics = Nothing End Sub Sub ComboBox1SelectedIndexChanged( _ sender As Object, e As EventArgs) Me.CheckBox1.Text = "Mitoituskuva" If ComboBox1.SelectedIndex > 0 Then CheckBox1.Enabled = True CheckBoxState Else PictureBox1.Image = Nothing CheckBox1.Checked = False CheckBox1.Enabled = False End If End Sub Sub CheckBoxState() If ComboBox1.SelectedIndex > 0 Then If CheckBox1.Checked Then If Dir(basePath.ToString + "M" _ + ComboBox1.SelectedItem.ToString) <> "" Then PictureBox1.Image = _ Image.FromFile(basePath. _ ToString + "M" + _ ComboBox1.SelectedItem.ToString) Else MessageBox.Show("Mitoituskuvaa ei löydy", _ "Info", MessageBoxButtons.Ok, _ MessageBoxIcon.Information) CheckBox1.Checked = False End If Else PictureBox1.Image = _ Image.FromFile(basePath.ToString + _ ComboBox1.SelectedItem.ToString) End If End If End Sub Sub CheckBox1CheckedChanged(sender As Object, e As EventArgs) CheckBoxState() End Sub End Class
Heippa taas Puoliväkisten!
jos oikein haluaa leikkiä ja hakea polun PictureBox1.ImageLocation-ominaisuudesta niin polku on lisättävä
em. ominaisuuden arvoksi...
Imports System Imports System.IO Imports System.Windows.Forms Public Partial Class MainForm Friend basePath As DirectoryInfo Friend pics() As FileInfo Public Sub New() Me.InitializeComponent() End Sub Sub MainFormLoad(sender As Object, e As EventArgs) ComboBox1.Items.Add("") basePath = New DirectoryInfo("C:\kuvat\") pics = basePath.GetFiles("*.bmp") For i As Integer = 0 To pics.GetUpperBound(0) If pics(i).ToString.Substring(0, 1) <> "M" Then ComboBox1.Items.Add(pics(i).ToString) End If Next ComboBox1.SelectedIndex = 0 pics = Nothing Me.CheckBox1.Text = "Mitoituskuva" End Sub Sub ComboBox1SelectedIndexChanged( _ sender As Object, e As EventArgs) If ComboBox1.SelectedIndex > 0 Then PictureBox1.ImageLocation = _ basePath.ToString + _ ComboBox1.SelectedItem.ToString CheckBox1.Enabled = True CheckBoxState Else PictureBox1.Image = Nothing PictureBox2.Image = Nothing CheckBox1.Checked = False CheckBox1.Enabled = False End If End Sub Sub CheckBoxState() If ComboBox1.SelectedIndex > 0 Then If CheckBox1.Checked Then Dim pic2Path As String = _ PictureBox1.ImageLocation.Replace( _ ComboBox1.SelectedItem.ToString, _ "M" + ComboBox1.SelectedItem.ToString) If Dir(pic2Path) <> "" Then PictureBox2.ImageLocation = pic2Path Else PictureBox2.Image = Nothing MessageBox.Show("Mitoituskuva puuttuu","Info" , _ MessageBoxButtons.Ok, MessageBoxIcon.Information) CheckBox1.Checked = False End If pic2Path = Nothing Else PictureBox2.Image = Nothing End If End If End Sub Sub CheckBox1CheckedChanged(sender As Object, e As EventArgs) CheckBoxState() End Sub End Class
näyttää hyvältä, pitää pureskella paljon ennen kun saan tuollaista koodia aikaan
On paljon muitakin kysymyksiä mutta pitää nyt ensin itse pähkäillä
neau33 kirjoitti:
jos oikein haluaa leikkiä ja hakea polun PictureBox1.ImageLocation-ominaisuudesta niin polku on lisättävä
em. ominaisuuden arvoksi...
Moro taas.
Voitko vähän selventää että mitä tuo tarkoittaa. Olen yrittänyt saada selville picturebox:ssa olevan kuvan polkua mutta tuloksetta. Tämä ei anna mitää arvoa..
Dim polku As String polku = Form1.kuva.ImageLocation
Aihe on jo aika vanha, joten et voi enää vastata siihen.