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 Falk82
Thema: Speicherfreigabe wenn UserControl von Panel entfernt wird
Am im Forum: GUI: Windows-Forms

Hallo Zusammen,

ich habe folgendes Problem.
Ich habe ein Windowsform mit zwei Buttons und einen Panel. Wenn Button 1 gedrückt wird, wird ein UserControl zu dem Panel hinzugefügt. Wenn Button 2 gedrückt wird, wird das UserControl wieder vom Panel entfernt und dispost.
Leider wird der Speicher der vom UserControl belegt wird nicht wieder freigegeben.
Wenn ich mit dem Diagnosetools eine Momentaufnahme des Speichers mache finde ich mein UserControl noch im Verwaltetem Speicher mit einen Versweis auf LayoutEventArgs.

Was kann ich machen das mein UserControl aus dem Speicher entfernt wird?

Hier noch mein SourceCode:

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        Control akt;

        public Form1()
        {
            InitializeComponent();
        }

       
        private void button1_Click(object sender, EventArgs e)
        {
            akt = new UserControl1();
            akt.Dock = DockStyle.Fill;
            akt.Name = "Test";
            this.panel1.Controls.Add(akt);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            this.panel1.Controls.Remove(akt);
            akt.Dispose();

            akt = null;
        }
    }
}
Als Anhang noch ein Screenshot der Momentaufnahme des Speichers.

Vielen Danke für Eure Hilfe.

Thema: Manuelles übernehmen der Daten aus einer DataGridView in die gebundene DataSource (DataTable)
Am im Forum: GUI: Windows-Forms

Hallo Zusammen,

vielen Dank für die schnelle Hilfe.

Ich habe das Problem jetzt wie folgt gelöst.

Ich rufe die Method Validate() auf (this.Validate()).

Gruß Falk82

Thema: Manuelles übernehmen der Daten aus einer DataGridView in die gebundene DataSource (DataTable)
Am im Forum: GUI: Windows-Forms

Hallo Zusammen,

ich habe folgendes Problem: Ich habe eine DataGridView mit einer gebundenen DataTable.
Wenn ich eine neue Zeile in der DGV erzeuge und den Focus nicht von dieser Zeile nehme, hat die gebundene DataTable keine neue Zeile.

Nun meine Frage: Wie kann ich die Daten aus der aktuellen Zeile der DataGridView in die gebundene DataTable übernehmen?

Thema: DataGridView KeyDownEvent von der Down Taste im Edit Modus einer Zelle
Am im Forum: GUI: Windows-Forms

Hallo herbivore,

auf MSDN Control.PreviewKeyDown-Ereignis steht folgendes

Zitat
Sie sollten dem PreviewKeyDown-Ereignishandler keine Logik hinzufügen. Es sollte nur die IsInputKey-Eigenschaft festgelegt werden. Stattdessen sollten Sie die Logik in den KeyDown-Ereignishandler setzen.

des halb wollte ich im PreviewKeyDown keine Logik hinzufügen.

Falk82

Thema: DataGridView KeyDownEvent von der Down Taste im Edit Modus einer Zelle
Am im Forum: GUI: Windows-Forms

Hallo herbivore,

ich habe Form.KeyPreview auf "true" gesetzt und Form.PreviewKeyDown und Form.KeyDown
implementiert aber die "Down" Taste kommt auch da nicht an.


private void OfficeNew0_ParentChanged(object sender, EventArgs e)
{
	Form form = this.dgv_pickUpAddress.FindForm();
	form.KeyPreview = true;
	form.KeyDown += new KeyEventHandler(form_KeyDown);
	form.PreviewKeyDown += new PreviewKeyDownEventHandler(form_PreviewKeyDown);
}

void form_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
	Console.WriteLine("form_PreviewKeyDown: " + sender.ToString() + " " + e.KeyCode.ToString());
}

void form_KeyDown(object sender, KeyEventArgs e)
{
	Console.WriteLine(sender.ToString() + " " + e.KeyCode.ToString());
	
}

Haben Sie noch eine Idee?

Vielen Dank

Thema: DataGridView KeyDownEvent von der Down Taste im Edit Modus einer Zelle
Am im Forum: GUI: Windows-Forms

Hallo herbivore

ja er geht ins PreviewKeyDown.

Thema: DataGridView KeyDownEvent von der Down Taste im Edit Modus einer Zelle
Am im Forum: GUI: Windows-Forms

Hallo Ich habe ein Problem mit dem KeyDown Event.
Wenn ich in der DataGridView in eine Zelle im Bearbeitungsmodus bin bekomme ich den KeyDownEvent von der "Down Taste" nicht.

Ich habe folgendes ausprobiert:

private void dgv_pickUpAddress_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
        {
            e.Control.TextChanged += new EventHandler(SearchAddress);
            e.Control.PreviewKeyDown -= new PreviewKeyDownEventHandler(Control_PreviewKeyDown);
            e.Control.PreviewKeyDown += new PreviewKeyDownEventHandler(Control_PreviewKeyDown);
            e.Control.KeyUp += new KeyEventHandler(DataGridView_KeyDown);
            
            
        }

        void Control_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
        {
            Console.WriteLine(e.KeyCode.ToString() + ": " + e.IsInputKey.ToString());
            switch (e.KeyCode)
            {
                case Keys.Down:
                    e.IsInputKey = true;
                    break;
            }
        }

        void DataGridView_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Down)
            {
                this.searchResultList.SelectNextRow();
            }
            else if (e.KeyCode == Keys.Up)
            {
                this.searchResultList.SelectPreviousRow();
            }
            else if (e.KeyCode == Keys.Enter)
            {

            }
        }
Wenn ich einen Haltepunkt in die Methode "DataGridView_KeyDown" setze hält das Programm an wenn ich irgend ein Buchstabe drücke aber wenn ich die "Down" Taste drücke passiert nichts.

Ich komme hier nicht weiter.
Ich bin für jede Hilfe dankbar.