Hallo,
also ich hatte das gleiche Problem. Ich empfehle die Daten in einer Dummy-Datei als .CSV zwischenzuspeichern, anschließend Excel zu öffnen, dann die Datei öffnen und als .XLS speichern. Die Dummy-Datei kann danach gelöscht werden.
Ist zwar etwas mehr Aufwand, funzt aber sehr schnell! Kann bei Bedarf auch mal meine Lösung posten.
Masque
Genau da is das Problem. Wie greif ich auf den Timer in Form 1 wieder zu??
Hallo,
ich hab mal wieder ein Problem. Ich muss in einem Programm beim Start einer 2.ten Form einen Timer in der 1.Form ausschalten. Das ist ja kein Problem, da ich das ja vor dem Aufruf erledigen kann.
Jetzt die Frage: Wie kann ich das beim Schließen von Form 2 wieder anschalten??
MFG
Masque
Nunja, das Problem ist, dass die Anzahl der Labels berechnet wird. Wenn das Offset ungünstig ist, kann die Anzahl der Labels beim Neuzeichnen anders sein, also wäre es besser eine andere Lösung zu finden.
Hab auch schon probiert die Labels zu löschen, aber ohne wirklichen Erfolg.
Hallo,
noch ein Problem... Hab mir ein Steuerelement geschrieben für Diagramme. Dort werden dynamische Labels als Beschriftung der Achsen verwendet. Erzeugt werden diese mit:
Label [] labBeschriftungOrd = new Label[HLOrdinateMin + HLOrdinateMax + 1];
for (int i = 0; i < HLOrdinateMin + HLOrdinateMax + 1; i++)
{
labBeschriftungOrd[i] = new Label();
}
for (int i = 0; i <= HLOrdinateMin; i++)
{
int j = 1;
labBeschriftungOrd[a].TextAlign = ContentAlignment.MiddleRight;
labBeschriftungOrd[a].AutoSize = true;
labBeschriftungOrd[a].Text = Math.Round(0 - i * j * HilfsAbstandOrd, 2).ToString();
if (labBeschriftungOrd[a].Width > MaxGroesse) MaxGroesse = labBeschriftungOrd[a].Width;
this.Controls.Add(labBeschriftungOrd[a]);
labBeschriftungOrd[a].Top = Convert.ToInt32(AbstandOben + (Maximum[1] + i * j * HilfsAbstandOrd) * ScaleFactor[1] - labBeschriftungOrd[a].Height / 2);
a = a + 1;
}
Mein Problem ist jetzt, dass wenn ich meinen zu zeichnenden Messwerten mit einem Offset versehe und somit auch die Achsenbeschriftung geändert wird, die alten Labels immer noch dastehen und nicht gelöscht werden.
Hat irgendjemand eine Idee was ich da machen könnte?
Hab schon probiert mittels this.Controls.Clear() und anschließendem InitializeComponent() das ganze Form neu zu zeichnen, aber da spinnt er dann ziemlich rum.
Masque
Hallo,
weiß zufällig jemand wie ich zur Laufzeit in eine Groupbox ein Label erstellen kann?
Ich dachte an:
this.Controls.Add(...)
bzw.
groupBox1.Controls.Add(...)
Aber bei der zweiten Variante löscht er die GroupBox irgendwie... Was muss ich da machen??
Masque
Ich schon wieder.
Gibt es die Möglichkeit ein Label-Array zu erstellen?
Ich dachte an:
Label [] labBeschriftung = new Label[20];
labBeschriftung[0].Bounds = new Rectangle(10, 10, 40, 16);
labBeschriftung[0].Text = "0";
this.Controls.Add(labBeschriftung[0]);
Aber dort stürzt er auch ab.
Masque
Ich muss nochmal fragen... Hab das jetzt so gemacht:
using System;
using System.Drawing;
using System.Windows.Forms;
namespace Diagrammtest
{
public class frmMain : System.Windows.Forms.Form
{
private System.Windows.Forms.Button button1;
private Diagramm.frmDiagramm frmDiagramm1;
public frmMain()
{
InitializeComponent();
frmMain formMain = null;
Label label5 = new Label();
label5.Bounds = new Rectangle(10,10,40,20);
label5.Text = "UGA";
formMain.Controls.Add(label5);
}
[STAThread]
public static void Main(string[] args)
{
Application.Run(new frmMain());
}
#region Windows Forms Designer generated code
/// <summary>
/// This method is required for Windows Forms designer support.
/// Do not change the method contents inside the source code editor. The Forms designer might
/// not be able to load this method if it was changed manually.
/// </summary>
private void InitializeComponent() {
this.frmDiagramm1 = new Diagramm.frmDiagramm();
this.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// frmDiagramm1
//
this.frmDiagramm1._MinAbstandHLX = 0;
this.frmDiagramm1._MinAbstandHLY = 0;
this.frmDiagramm1.Location = new System.Drawing.Point(80, 88);
this.frmDiagramm1.Name = "frmDiagramm1";
this.frmDiagramm1.Size = new System.Drawing.Size(672, 520);
this.frmDiagramm1.TabIndex = 2;
//
// button1
//
this.button1.Location = new System.Drawing.Point(576, 640);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(160, 72);
this.button1.TabIndex = 1;
this.button1.Text = "button1";
this.button1.Click += new System.EventHandler(this.Button1Click);
//
// UGA
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(768, 757);
this.Controls.Add(this.frmDiagramm1);
this.Controls.Add(this.button1);
this.Name = "UGA";
this.Text = "MainForm";
this.Load += new System.EventHandler(this.MainFormLoad);
this.ResumeLayout(false);
}
#endregion
}
}
Da stürzt er aber immer ab....
Masque
Hallo,
ich muss ein Label zu Laufzeit erstellen. Probiert hab ich es mit:
Label label5 = new Label();
label5.Left = 20;
label5.Top = 20;
label5.Text = "UGA";
Er zeigt aber nix an. Was fehlt da noch?
Masque