statuszeile



  • schönen vormittag.

    ich habe nun in meine applikation eine statuszeile eingebaut, in der der aktuelle stand des Cursors ausgelesen werden soll. - Ansich ist das kein problem. - ich habe nun folgendes (banales) problem: wie bekomme ich die variable in die statuszeile, in der die aktuellen cursorinformationen immer gespeichert sind? - ich habe zunächst ein paneel in der zeile erstellt. - ansich dürfte das nicht so falsch sein, jedoch, wenn ich es z.b. mit dem text "Information" fülle, und in c# dann schreibe:

    private void Form1_MouseMove(object sender, MouseEventArgs e)
            {
                string strOut;
    
                strOut = "X: " + e.X.ToString() + "Y: " + e.Y.ToString();
                this.statusStripPaneel1.Text = strOut;
            }
    

    es wird nun bei mir in der statuszeile immer der text "information" angezeigt, und nicht etwa überschrieben... - was mache ich falsch?

    bzw. wie bringe ich es fertig, eine statuszeile so zu unterteilen wie z.b. im normalen windows notepad?

    ich weiß, alle fragen, die ich bisher gestellt habe sind ziemliche anfängerfragen... (sry. was kann ich dafür, wenn ich bis jetzt nur php, html und css gescriptet habe? (btw: html ist eine textauszeichnungssprache und keine scripsprache, wie ich sie genannt habe)) 😉

    mlg



  • Ich weiß nicht wirklich wo dein Problem is. Das hier sollte genau das machen, was du willst:

    using System;
    using System.Drawing;
    using System.Windows.Forms;
    
    	public class Form1 : System.Windows.Forms.Form {
          private System.Windows.Forms.StatusBar statusBar1;
    
    		public Form1() {
    			InitializeComponent();
    		}
    
    		private void InitializeComponent() {
             this.statusBar1 = new System.Windows.Forms.StatusBar();
             this.SuspendLayout();
    
             // statusBar1       
             this.statusBar1.Location = new System.Drawing.Point(0, 251);
             this.statusBar1.Name = "statusBar1";
             this.statusBar1.Size = new System.Drawing.Size(292, 22);
             this.statusBar1.Text = "statusBar1";
    
             this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
             this.ClientSize = new System.Drawing.Size(292, 273);
             this.Controls.Add(this.statusBar1);
             this.Name = "Form1";
             this.Text = "Form1";
             this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseMove);
             this.ResumeLayout(false);
    
          }
    
    		[STAThread]
    		static void Main()  {
    			Application.Run(new Form1());
    		}
    
          private void Form1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) {
             statusBar1.Text = e.X + "/" + e.Y;
          }
    	}
    


  • interpreter schrieb:

    Ich weiß nicht wirklich wo dein Problem is.

    ...ich weiß nicht, wie ich ein textfeld auf die statuszeile bringe, wo dann der text angezeigt werden soll. - also ich meine, ich schaffe es schon, ein paneel dort hinzumachen, aber was soll man in der property 'text' eintragen, sodass das paneel leerbleibt, und quasi 'reserviert' für text is...

    das andere, ist dann, wie kann man solche unterteilungen auf der statuszeile machen, wie man sie in fast jedem programm sieht?

    also z.b.:

    [Ereignis, das eintritt] | [Zeile/Spalte] | [ProgressBar]



  • btw. eine ganz dumme frage... (ich könnt mich ohrfeigen) ... - ist unter der vc# 2005 express edition 'StatusStrip' dasselbe wie in den vorgängern 'StatusBar'?



  • ...bin schon draufgekommen... - hatte versehentlich die property "Auto-Size" aktiviert... probleme sind gelöst. danke trotzdem


Anmelden zum Antworten