Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von MalleBuchsbaum
Thema: Form1 schließen und dafür From2 anzeigen
Am im Forum: GUI: Windows-Forms

Hallo,
ich bin gerade arbeite gerade an einem kleinem Programm. Bei dem möchte ich From1 (Einstellungen) schließn und dafür From2 (FensterXY) anzeigen. In einem anderem Thema wurde mir dazu geraten

 
EinstellungenXY form1 = new EinstellungenXY();
form1.Show();

this.Close();

zu verwenden. Leider beendet sich das Programm dann einfach! Welchen Code sollte ich stattdessen verwenden?

Thema: Datei kann nicht geladen werden, weil sie noch im Zugriff ist
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ja, ich werde den XML-Writer & Reader Code nochmal neu schreiben ;) Danke für die tolle Hilfe!

EDIT: Habs geschafft! [email protected]!

Thema: Datei kann nicht geladen werden, weil sie noch im Zugriff ist
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Jetzt binh ich volkommen weg... Jetzt check ich garnichts mehr. Ich habe den Code aus meinem Rechner kopiert und nur das combobox & numupdown weggenommen und im minimalen Projekt funzt es... KP warum!

Thema: Datei kann nicht geladen werden, weil sie noch im Zugriff ist
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Vielen Dank herbivore,
MSDN erzählt mir da leider etwas von Websites und NET.Farmework 1.1...
Das wird es höchstwahrscheinlich nicht sein. Ich habe echt keinen Plan mehr... Soll ich den Rechner einfach mal zippen & dann hochladen?

Thema: Datei kann nicht geladen werden, weil sie noch im Zugriff ist
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

So, ich habe jetzt noch mal den Code von markus111 eingefügt und es kommen folgende Meldungen:

Zitat
Fehler 4 "Name" verursacht einen Konflikt mit der Deklaration "System.Windows.Forms.Control.Name". C:\Users\Malte\documents\visual studio 2010\Projects\Energie-Rechner_v2\Energie-Rechner_v2\Einstellungen.cs 43 29 Energie-Rechner_v2
Fehler 6 Der Name "Preis" ist im aktuellen Kontext nicht vorhanden. C:\Users\Malte\documents\visual studio 2010\Projects\Energie-Rechner_v2\Energie-Rechner_v2\Einstellungen.cs 45 36 Energie-Rechner_v2
Fehler 5 Der Name "Stromanbieter" ist im aktuellen Kontext nicht vorhanden. C:\Users\Malte\documents\visual studio 2010\Projects\Energie-Rechner_v2\Energie-Rechner_v2\Einstellungen.cs 44 30 Energie-Rechner_v2
Fehler 3 Der Typ- oder Namespacename "Einstellungen" konnte nicht gefunden werden. (Fehlt eine Using-Direktive oder ein Assemblyverweis?) C:\Users\Malte\documents\visual studio 2010\Projects\Energie-Rechner_v2\Energie-Rechner_v2\Program.cs 18 33 Energie-Rechner_v2
Fehler 7 Der Typ- oder Namespacename "Rechenfenster" konnte nicht gefunden werden. (Fehlt eine Using-Direktive oder ein Assemblyverweis?) C:\Users\Malte\documents\visual studio 2010\Projects\Energie-Rechner_v2\Energie-Rechner_v2\Einstellungen.cs 78 13 Energie-Rechner_v2
Fehler 8 Der Typ- oder Namespacename "Rechenfenster" konnte nicht gefunden werden. (Fehlt eine Using-Direktive oder ein Assemblyverweis?) C:\Users\Malte\documents\visual studio 2010\Projects\Energie-Rechner_v2\Energie-Rechner_v2\Einstellungen.cs 78 39 Energie-Rechner_v2


Lieg es vllt. daran das ich VS2010 Beta2 verwenden? Sin das noch Bugs in VS?

Thema: Datei kann nicht geladen werden, weil sie noch im Zugriff ist
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Nein... Leider nicht! Es kommt folgenden Meldung: Ein Teil der Datein konnt nicht gefunden werden..."+Pfad("C//usw)...

Thema: Datei kann nicht geladen werden, weil sie noch im Zugriff ist
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Vielen Dank,
ja Markus, ich kenne dich in der Tat. Ich werde den Code glecih mal testen!
Danke,
MalleBuchsbaum

Thema: Datei kann nicht geladen werden, weil sie noch im Zugriff ist
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ok, ich habe jetzt


this.Close();
eingesetzt. Das Problem tritt aber immer noch auf...
Zitat
System.IO.IOException wurde nicht behandelt.
Message=Der Prozess kann nicht auf die Datei "C:\XML\Daten_I.xml" zugreifen, da sie von einem anderen Prozess verwendet wird.
Source=mscorlib
StackTrace:
bei System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
bei System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
bei System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
bei System.Xml.XmlWriter.Create(String outputFileName, XmlWriterSettings settings)
bei Energie_Rechner_v2.Einstellungen.WriteData() in C:\Users\Malte\documents\visual studio 2010\Projects\Energie-Rechner_v2\Energie-Rechner_v2\Einstellungen.cs:Zeile 51.
bei Energie_Rechner_v2.Einstellungen.button1_Click(Object sender, EventArgs e) in C:\Users\Malte\documents\visual studio 2010\Projects\Energie-Rechner_v2\Energie-Rechner_v2\Einstellungen.cs:Zeile 78.
bei System.Windows.Forms.Control.OnClick(EventArgs e)
bei System.Windows.Forms.Button.OnClick(EventArgs e)
bei System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.ButtonBase.WndProc(Message& m)
bei System.Windows.Forms.Button.WndProc(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
bei System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
bei System.Windows.Forms.Application.ComponentManager. System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop (Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
bei System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
bei System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
bei System.Windows.Forms.Application.Run(Form mainForm)
bei Energie_Rechner_v2.Program.Main() in C:\Users\Malte\documents\visual studio 2010\Projects\Energie-Rechner_v2\Energie-Rechner_v2\Program.cs:Zeile 18.
bei System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
bei System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
bei Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Threading.ThreadHelper.ThreadStart()
InnerException:

Das ist die Meludng. Ich weiß wirklich nicht weiter!

Thema: Datei kann nicht geladen werden, weil sie noch im Zugriff ist
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,
danke für die Antwort! Ich benötige From2 auf jeden Fall, da dort die Änderung u.ä. eingetragen & gespeichert werden. Bei button1_Click wird in meine XML geschrieben und es wird das Rechenfenster (form1) angezeigt. Darauhin wird form2 (Einstellungen) geschlossen. Mache ich nur einen Denkfehler???

Thema: Datei kann nicht geladen werden, weil sie noch im Zugriff ist
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Das kann sein, aber wo???

Nochmal der Code:



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Xml;
using System.IO;

namespace Energie_Rechner
{
    public partial class Einstellungen : Form
    {
        string gespeichert = "C:\\XML\\Daten_I.xml";

        public Einstellungen()
        {
            InitializeComponent();
        }

        private void LoadData()
        {
            XmlReader reader = XmlReader.Create("C:\\XML\\Daten_I.xml");

            reader.ReadStartElement();
            reader.ReadStartElement("Einstellungen");
            string Einstellungen = reader.ReadString();
            reader.ReadEndElement();
            reader.ReadStartElement("Name");
            string Name = reader.ReadString();
            reader.ReadEndElement();
            reader.ReadStartElement("Stromanbieter");
            string Stromanbieter = reader.ReadString();
            reader.ReadEndElement();
            reader.ReadStartElement("Preis");
            decimal Preis = decimal.Parse(reader.ReadString());
            reader.ReadEndElement();
            reader.ReadEndElement();
            reader.Close();

            textBox1.Text = Name;
            comboBox1.Text = Stromanbieter;
            numericUpDown1.Value = Preis;
         }

        private void WriteData()
         {
             // speichern
             XmlWriter writer = XmlWriter.Create("C:\\XML\\Daten_I.xml", new XmlWriterSettings() { Indent = true, NewLineChars = Environment.NewLine });
             writer.WriteStartDocument();
             // <?xml ...?>
             writer.WriteStartElement("Einstellungen");
             writer.WriteStartElement("Name");
             writer.WriteString(textBox1.Text);
             writer.WriteEndElement();
             writer.WriteStartElement("Stromanbieter");
             writer.WriteString(comboBox1.Text);
             writer.WriteEndElement();
             writer.WriteStartElement("Preis");
             writer.WriteString(numericUpDown1.Value.ToString());
             writer.WriteEndElement();
             writer.WriteEndElement();
             writer.WriteEndDocument();
             writer.Close();
             writer.Close();
             
         }
        
        private void button2_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            WriteData();

            Rechenfenster form1 = new Rechenfenster();
            Einstellungen form2 = new Einstellungen();
             form1.Show();
             form2.Close();
        }

        private void Einstellungen_Load(object sender, EventArgs e)
        {
            if (File.Exists(gespeichert))
            {
                LoadData();
            }
        }
       
    }
}

Thema: Datei kann nicht geladen werden, weil sie noch im Zugriff ist
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ja... Es ist aber egal wo ich die Datei hinschreibe, auf den Desktop oder sonst wo, immer das gleiche! Was für ein Programm könnte das den sein? Hat jemand eine Idee?

Thema: Datei kann nicht geladen werden, weil sie noch im Zugriff ist
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo liebes Forum!
Ich habe mich eben angemeldet, da ich ein Problem mit meinem Programm habe.
Ich arbeite zur Zeit an einem Energierechener der die Stromkosten für ein ganzes Haus errechnet und in dem der Tausch von z.B. Lampen durch Engeriesparlampen protokolliert wird.
Den Text speichere ich in einer XML ab und rufen ihn, falls vorhanden, wieder ab.

Da liegt aber mein Problem:
Der Prozess kann nicht auf die Datei "C:\XML\Daten_I.xml" zugreifen, da sie von einem anderen Prozess verwendet wird.

Der "LoadData"-Code:

 
           
private void LoadData()
        {
            XmlReader reader = XmlReader.Create("C:\\XML\\Daten_I.xml");

            reader.ReadStartElement();
            reader.ReadStartElement("Einstellungen");
            string Einstellungen = reader.ReadString();
            reader.ReadEndElement();
            reader.ReadStartElement("Name");
            string Name = reader.ReadString();
            reader.ReadEndElement();
            reader.ReadStartElement("Stromanbieter");
            string Stromanbieter = reader.ReadString();
            reader.ReadEndElement();
            reader.ReadStartElement("Preis");
            decimal Preis = decimal.Parse(reader.ReadString());
            reader.ReadEndElement();
            reader.ReadEndElement();
            reader.Close();

            textBox1.Text = Name;
            comboBox1.Text = Stromanbieter;
            numericUpDown1.Value = Preis;
         }         


Die Datei wird erstellt, dann aber tritt der oben gennate Fehler auf.
Da ich Neuling bin und noch nicht sehr viel Erfahrung habe, finde ich den Fehler einfach nicht... Ich habe auch schon in "Das C# 2008 Codebook" nachgeguckt, aber nichts gefunden... Ich habe auch schon versucht das @"C:\XML\Daten_I.xml" durch "C:\\XML\\Daten_I.xml" zu ersetzen, aber vergeblich.