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 SubSaan 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 = TrueJa 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 ClassHeippa 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 Classnä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.