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 Simon Heinzmann
Thema: [gelöst] In Form1 -> Texbox in Form2 fokusieren
Am im Forum: GUI: Windows-Forms

Hi,
@ErfinderDesRades: Den Artikel hab ich gelesen, aber bei meinem Projekt handelt es sich um eine Multimonitoranwendung mit drei Bildschirmen die bedient werden sollen über einen Touchscreen.
Auf dem Touchscreen wird bei Bedarf eine Tastatur eingeblendet, mit dem auf einem der anderen Bildschirme ein Browserfenster geöffnet ist.
Gruss

Thema: [gelöst] In Form1 -> Texbox in Form2 fokusieren
Am im Forum: GUI: Windows-Forms

Hi,
ja beim laden von Form1 wird Form2 geöffnet.


private void FormBrowserSteuerung_Load(object sender, EventArgs e)
        {
            FormBrowser browser = new FormBrowser();
            browser.Show();
        }

Ich kann in "userControlTS_UserKeyPressed" kein Form.Show() reinbauen weil dann bei jedem Tastendruck ein neues Fenster geöffnet wird.

Das Grundproblem ist das der Focus auf der Textbox in Form2 liegen muss wenn ich die Zeichen gesendet werden

SendKeys.Send(e.KeyboardKeyPressed);
Gruss

Thema: [gelöst] In Form1 -> Texbox in Form2 fokusieren
Am im Forum: GUI: Windows-Forms

Hmmm ich weiss jetzt nicht ob ich mich falsch ausgedrückt habe, ich will nicht zugreifen, ich will nur die Textbox in Form2 fokusieren.

Thema: [gelöst] In Form1 -> Texbox in Form2 fokusieren
Am im Forum: GUI: Windows-Forms

Hi,
danke für den FAQ Hinweis, mir geht es aber nicht um eine Variablen übergabe sondern um die FOKUSIERUNG.
Gruss

Thema: [gelöst] In Form1 -> Texbox in Form2 fokusieren
Am im Forum: GUI: Windows-Forms

Hi,
ich bin im Moment ein wenig ratlos. Folgendes Szenario:
Ich hab eine Bildschirmtastatur in Form1 und eine Textbox in Form2 die nach jedem Klick fokusiert werden soll.

Das funktioniert wunderbar ist aber das falsche Form


private void userControlTS_UserKeyPressed (object sender, KeyboardEventArgs e)
        {
            
            //Focus auf textBox in Form1 funktioniert wunderbar, aber ich will die Textbox in Form2 fokusieren
            textBox1.Focus();
                     
            //Taste an focusiertes Fenster schicken
            SendKeys.Send(e.KeyboardKeyPressed);
        }

Das Funkioniert nicht!


private void userControlTS_UserKeyPressed (object sender, KeyboardEventArgs e)
        {
            //Kein Focus in Form2
            FormBrowser browser = new FormBrowser();
            browser.textBoxURL.Focus();
                     
            //Taste an focusiertes Fenster schicken
            SendKeys.Send(e.KeyboardKeyPressed);
        }

Kann mir jemand weiterhelfen?
Gruss

Thema: Problem mit Bildschirmtastatur
Am im Forum: GUI: Windows-Forms

Genau das hat gefehlt!!!!!!!!!!!

this.pictureBoxKeyboard.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pictureBoxKeyboard_MouseClick);

Thema: Problem mit Bildschirmtastatur
Am im Forum: GUI: Windows-Forms

Hi,
ich komme einfach nich weiter, weis auch irgendwie nicht wo der Fehler liegen könnte.

Mein Ziel ist es eine Bildschirmtastatur auf einem Touchscreen. Ich hab schon einen Super Codeschnipsel gefunden den ich einfach nachgebaut hab. http://www.codeproject.com/KB/miscctrl/touchscreenkeyboard.aspx

Problem: Die Mauskoordinaten werden nicht an das Benutzersteuerelement übergeben, es passiert einfach gar nix, der Debugger läuft durch.

Form: FormBrowsersteuerung (Richtextfeld und Benutzersteuerelement)

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;

namespace WindowsFormsApplication1
{
    public partial class FormBrowserSteuerung : Form
    {
        public FormBrowserSteuerung()
        {
            InitializeComponent();
        }

        private void userControlTS_UserKeyPressed (object sender, KeyboardEventArgs e)
        {
            richTextBox1.Focus();
            SendKeys.Send(e.KeyboardKeyPressed);
        }


    }

}

Benutzersteuerelement: UserControlTS

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

namespace WindowsFormsApplication1
{
    public partial class UserControlTS : UserControl
    {
        public UserControlTS()
        {
            InitializeComponent();
        }

        //Variable die speichert ob Shift gedrückt wurde oder nicht
        private Boolean shiftindicator = false;
        
        //String (Taste die gedrückt wurde)
        private string pvtKeyboardKeyPressed = "";
        
        [Category("Mouse"), Description("Return value of mouseclicked key")]
        public event KeyboardDelegate UserKeyPressed;
        protected virtual void OnUserKeyPressed(KeyboardEventArgs e)
        {
            if (UserKeyPressed != null)
                UserKeyPressed(this, e);
        }

        //Funktion (Wenn auf Picture Box geklickt wird)
        private void pictureBoxKeyboard_MouseClick(object sender, MouseEventArgs e)
        {
            // Koordinaten der Maus
            Single xpos = e.X;
            Single ypos = e.Y;

            // Handleaufruf zur Abfrage welche Taste geklickt wurde
            pvtKeyboardKeyPressed = HandleTheMouseClick(xpos, ypos);

            KeyboardEventArgs dea = new KeyboardEventArgs(pvtKeyboardKeyPressed);
            OnUserKeyPressed(dea);
        }

        // Handle zur unterschiedlichen Darstellung der Shift-Taste
        private void HandleShiftClick()
        {
            if (shiftindicator)
            {
                shiftindicator = false;
                pictureBoxShiftDown.Visible = false;
            }
            else
            {
                shiftindicator = true;
                pictureBoxShiftDown.Visible = true;
            }

        }        
        // Handle der den MouseClick abfrägt
        private string HandleTheMouseClick(Single x, Single y)
        {
            string Keypressed = null;
            // Abfrage ob Mouse im gültigem Bereich x=[1;480] y =[1;202]
            // Übergabe von Keypressed an HandlesShiftaableKey -> Prüfung Gross/Kleinschreibung
            if (x ≥ 1 && x < 480 && y ≥ 1 && y < 202)
            {
                //Erste Zeile
                if (y ≤ 53)
                {
                    if (x ≥ 1 && x < 48) Keypressed = HandleShiftableKey("q");
                    else Keypressed = null;
                }
                //Zweite Zeile
                //Dritte Zeile
                else if (y ≥ 106 && y < 158)
                {
                    if (x ≥ 1 && x < 129) HandleShiftClick();
                    else Keypressed = null;
                }
                else
                {
                    Keypressed = null;
                }
            }

            //Prüfung ob gültige Taste gedrückt wurde:
            //wenn ja Return "Keypressed" und Prüfung ob Shifttaste zurückgesetzt werden muss
            //wenn nein Return "null"
            if (Keypressed != null)
            {
                if (shiftindicator) HandleShiftClick();
                return Keypressed;
            }
            else
            {
                return null;
            }
        }



        //Buchstaben ohne Shift-Taste werden einfacht zurückgegeben
        //Buchstaben mit Shift-Taste wird ein + hinzugefügt und zurückgegeben
        private string HandleShiftableKey(string theKey)
        {
            if (shiftindicator)
            {
                return "+" + theKey;
            }
            else
            {
                return theKey;
            }
        }

        // Klick auf Shift wenn die Shifttaste gedrückt wurde
        private void pictureBoxShiftDown_Click(object sender, MouseEventArgs e)
        {
            HandleShiftClick();
        }
            
    }
    public delegate void KeyboardDelegate(object sender, KeyboardEventArgs e);

    public class KeyboardEventArgs : EventArgs
    {
        private readonly string pvtKeyboardKeyPressed;

        public KeyboardEventArgs(string KeyboardKeyPressed)
        {
            this.pvtKeyboardKeyPressed = KeyboardKeyPressed;
        }

        public string KeyboardKeyPressed
        {
            get
            {
                return pvtKeyboardKeyPressed;
            }
        }
    }
}

FormBrowserSteuerung.Desginer.cs

namespace WindowsFormsApplication1
{
    partial class FormBrowserSteuerung
    {
        /// <summary>
        /// Erforderliche Designervariable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// Verwendete Ressourcen bereinigen.
        /// </summary>
        /// <param name="disposing">True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Vom Windows Form-Designer generierter 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()
        {
            this.richTextBox1 = new System.Windows.Forms.RichTextBox();
            this.userControlTS = new WindowsFormsApplication1.UserControlTS();
            this.SuspendLayout();
            // 
            // richTextBox1
            // 
            this.richTextBox1.Location = new System.Drawing.Point(31, 12);
            this.richTextBox1.Name = "richTextBox1";
            this.richTextBox1.Size = new System.Drawing.Size(514, 103);
            this.richTextBox1.TabIndex = 0;
            this.richTextBox1.Text = "";
            // 
            // userControlTS
            // 
            this.userControlTS.Location = new System.Drawing.Point(40, 121);
            this.userControlTS.Name = "userControlTS";
            this.userControlTS.Size = new System.Drawing.Size(480, 202);
            this.userControlTS.TabIndex = 1;
            this.userControlTS.UserKeyPressed += new WindowsFormsApplication1.KeyboardDelegate(this.userControlTS_UserKeyPressed);
            // 
            // FormBrowserSteuerung
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(604, 378);
            this.Controls.Add(this.userControlTS);
            this.Controls.Add(this.richTextBox1);
            this.Name = "FormBrowserSteuerung";
            this.Text = "FormBrowserSteuerung";
            this.ResumeLayout(false);

        }

        #endregion

        private System.Windows.Forms.RichTextBox richTextBox1;
        private UserControlTS userControlTS;
        
   }
}

Gruss

Thema: Eigene Steuerelemente im Studio Express?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Zitat von imagodespira
Danach sollte es auch in der Toolbox erscheinen (evtl. nach dem kompilieren erst).

Danke den Hinweis hab ich gesucht.... ich wär fast verzweifelt weil das Benutzersteuerelement nicht in der Toolbox auftaucht, das Problem hat jetzt wieder ein paar Tage Lebenszeit gekostet

Thema: Per If überprüfen ob Form geöffnet ist
Am im Forum: GUI: Windows-Forms

Guten Morgen,

folgende Ausgangslage, ich hab ein Form1 mit zwei Buttons mit beiden rufe ich ein zweites Form auf, übergebe einen String der den Pfad zu dem Image enthält das in Form3DMonitor angezeigt werden soll. Leider öffnet er im Moment immer wieder ein neues Fenster.

Form1:


private void buttonNavigation_Click(object sender, EventArgs e)
        {
            string fname = "D:\\Entwicklung\\5-Images\\navi.jpg";
            Form3dMonitor monitor = new Form3dMonitor(fname);
            monitor.Show(this);
        }

private void button2_Click(object sender, EventArgs e)
        {
            string fname = "D:\\Entwicklung\\5-Images\\tacho.jpg";
            Form3dMonitor monitor = new Form3dMonitor(fname);
            monitor.Show(this);
        }

Form3dMonitor:

    public partial class Form3dMonitor : Form
    {
        string filename = "";
        public Form3dMonitor(string fname)
        {
            filename = fname;
            InitializeComponent();
            Bitmap pic = new Bitmap(filename);
            pictureBox1.Image = pic;
        }
     }

Wie kann ich per if überprüfen ob das Form3dMonitor geöffnet ist???

Thema: Kann eine Form schliessen aber nicht erneut öffnen
Am im Forum: GUI: Windows-Forms

Hi,
warum es da hackt keine Ahnung, ich hab die zwei Forms neu gemacht und es geht...
Danke für die Hilfe

Thema: Kann eine Form schliessen aber nicht erneut öffnen
Am im Forum: GUI: Windows-Forms

Der Fehler tritt auf sobald ich auch den ButtonEntertainment im FormTS Klicke um das FormEntertainment zu öffnen

Thema: Kann eine Form schliessen aber nicht erneut öffnen
Am im Forum: GUI: Windows-Forms

Danke für den Hinweis, has geändert und nochmal durch den Debugger gejagt. Problem besteht weiterhin:

Zeile:

Application.Run(new FormTS());
Fehler:
Zitat
Auf das verworfene Objekt kann nicht zugegriffen werden.
Objektname: FormEntertainment.

Thema: Kann eine Form schliessen aber nicht erneut öffnen
Am im Forum: GUI: Windows-Forms

Hi,
ich hab ein ähnliches Problem:

Hier der Code, das Ziel ist wenn ich auf ButtonEntertainment klicke daß das FormTS geschlossen wird und das FormEntertainment geöffnet wird.

program.cs

namespace WindowsFormsApplication1
{
    static class Program
    {
        /// <summary>
        /// Der Haupteinstiegspunkt für die Anwendung.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new FormTS());
        }
    }
}

FormTS.cs:

namespace WindowsFormsApplication1
{
    public partial class FormTS : Form
    {
    FormEntertainment entertainment = new FormEntertainment();
        public FormTS()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void buttonEntertainment_Click(object sender, EventArgs e)
        {
            if (entertainment.IsDisposed)
                entertainment = new FormEntertainment();
            FormEntertainment.Show();
                  
        }
    }
}


FormEntertainment.cs:

namespace WindowsFormsApplication1
{
    public partial class FormEntertainment : Form
    {
        public FormEntertainment()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {

        }
    }
}

Der Debugger schmeisst an Fehler sobald ich auf den ButtonEntertainment drücke.
"Auf das verworfene Objekt kann nicht zugegriffen werden.
Objektname: FormEntertainment."

Gruss