Hallo,
ich hab folgendes Problem:
Die Klasse Form1 soll durch ein openFileDialog eine eine PictureBox aus einer anderen Klasse laden
und ein Bild hinein laden. Leider wird aber nur die PictureBox geladen aber es taucht kein Bild
auf?!
Hier die klasse Form1(ohne generierten code)
und hier die Klasse BildBox:
Wäre nett wenn mir jemand helfen könnte!
Danke Azmodan für die beiden Tipps, den einen habe ich wie du siehst gerade umgesezt und an den anderen mit dem try/catch mache ich mich etwas später ran.
Ich hoffe das mit dem Code geht jetzt soweit in Ordnung.
Kimbretti
ich hab folgendes Problem:
Die Klasse Form1 soll durch ein openFileDialog eine eine PictureBox aus einer anderen Klasse laden
und ein Bild hinein laden. Leider wird aber nur die PictureBox geladen aber es taucht kein Bild
auf?!
Hier die klasse Form1(ohne generierten code)
Code:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using Bildbearbeitung;
namespace Bildbearbeitung
{
/// <summary>
/// Zusammendfassende Beschreibung für Form1.
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.OpenFileDialog openFileDialog1;
private System.Windows.Forms.MainMenu mainMenu1;
private System.Windows.Forms.MenuItem menuItem1;
private System.Windows.Forms.MenuItem menuItem3;
private System.Windows.Forms.MenuItem menu_ende;
private System.Windows.Forms.MenuItem menu_Open;
/// <summary>
/// Erforderliche Designervariable.
/// </summary>
private BildBox bildBox;
public Form1()
{
InitializeComponent();
}
/// <summary>
/// Der Haupteinstiegspunkt für die Anwendung.
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void menu_ende_Click(object sender, System.EventArgs e)
{
Close();
}
void menu_Open_Click(object sender, System.EventArgs e)
{
string filter = "Bilders (*.jpg; *.bmp) | *.jpg; *.bmp";
this.openFileDialog1.Filter = filter;
if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
{
// hol den Dateinamen
string dateiname = this.openFileDialog1.FileName;
Bitmap bild = new Bitmap(dateiname);
//erzeugt eine neue Bildbox mit bild
this.bildBox = new BildBox(dateiname);
this.bildBox.MdiParent = this;
this.bildBox.Show();
Invalidate();
}
}
}
}
Code:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using Bildbearbeitung;
namespace Bildbearbeitung
{
/// <summary>
/// Zusammendfassende Beschreibung für BildBox.
/// </summary>
public class BildBox : System.Windows.Forms.Form
{
/// <summary>
/// Erforderliche Designervariable.
/// </summary>
private Bitmap bild, kopie;
private static string dateiname;
private int breit, hoch;
public BildBox()
{
InitializeComponent();
}
public BildBox(string datei)
{
dateiname = datei;
this.bild = new Bitmap(dateiname);
this.kopie = (Bitmap) this.bild.Clone();
hoch = this.bild.Height;
breit = this.bild.Width;
InitializeComponent();
}
#region Windows Form Designer generated code
/// <summary>
/// Erforderliche Methode für die Designerunterstützung.
/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
/// </summary>
private void InitializeComponent()
{
//
// BildBox
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(728, 578);
this.Name = "BildBox";
this.Text = "BildBox";
}
#endregion
/// <summary>
/// Diese Methode gibt den Dateinamen des aktuellen Bildes aus.
/// </summary>
/// <returns>
/// Einen string, den Dateinamen
/// </returns>
public string gibDateinamen()
{
return dateiname;
}
/// <summary>
/// Diese Methode gibt die Breite des aktuellen Bildes aus.
/// </summary>
/// <returns>
/// Einen int, die Breite des akt. Bildes
/// </returns>
public int gibBreite()
{
return breit;
}
/// <summary>
/// Diese Methode gibt die Höhe des aktuellen Bildes aus.
/// </summary>
/// <returns>
/// Einen int, die Höhe des akt. bildes
/// </returns>
public int gibHoehe()
{
return hoch;
}
/// <summary>
/// Diese Methode gibt das zur Zeit geöffnete Bild zurück.
/// </summary>
/// <returns>
/// Ein Bitmap, das aktuelle Bild
/// </returns>
public Bitmap gibBild()
{
return this.bild;
}
/// <summary>
/// Diese Methode gibt die Kopie des aktuellen Bildes aus.
/// </summary>
/// <returns>
/// Ein Bitmap, eine Kopie des akt. Bildes</returns>
public Bitmap gibKopie()
{
return this.kopie;
}
/// <summary>
/// Diese Methode kopiert die Kopie in die Variable Bild
/// </summary>
public void kopierBilder()
{
this.bild = (Bitmap) this.kopie.Clone(); //klären wozu Clone da ist!
}
/// <summary>
/// Diese Methode kopiert das Bitmap Bild in die Kopie um die änderungen auszuführen!
/// </summary>
public void setzEffekt()
{
this.kopie = (Bitmap) this.bild.Clone();
}
}
}
Wäre nett wenn mir jemand helfen könnte!
Danke Azmodan für die beiden Tipps, den einen habe ich wie du siehst gerade umgesezt und an den anderen mit dem try/catch mache ich mich etwas später ran.
Ich hoffe das mit dem Code geht jetzt soweit in Ordnung.
Kimbretti
Zuletzt bearbeitet: