07. september 2006 - 23:07Der er
9 kommentarer og 1 løsning
Forskellige classes i foskellige filer?
1. Hvordan får jeg fat i en string fra "Program.cs" filen fra en anden class fil?
Program.cs ---------- using System; using System.Collections.Generic; using System.Text;
namespace ConsoleApplication1 { public class Program { static void Main(string[] args) { doit(); string Programstring = "test1"; // Her er programstring }
Jeg har kun fået svar på Program.cs filen, hvordan får jeg fat i Programstringen fra Class1.cs ?
Og det skal være uden at hente en ny class via Program pr = new Program(); Da du, hvis det er en windows application vil den åbne endnu en kopi af den oprindelige form, det skal den ikke.
Jeg prøver lige på en anden måde, læs i koden hvad jeg vil hvor... Nu er det WinApps.
Form1.cs ---------- using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms;
namespace WindowsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); }
public void Form1_Load(object sender, EventArgs e) { this.label1.Text = "Set fra form1"; // Hvordan får jeg fat i Class1.string_class1 ? } } } ----------
Class1.cs ---------- using System; using System.Collections.Generic; using System.Text;
namespace WindowsApplication1 { class Class1 { // Få fat i Label1 i Form1 ? // WindowsApplication1.Form1.Label1.Text = "Set fra Class1";
Det jeg skulle bruge var et forbinde til en database fra Class1, alt efter om der var forbundet eller ej skulle den så skrive i en toolstriplabel på form1. Det fik jeg med hjælp over en chat lavet om således:
public class BaseForm : Form { public MySqlConnection ConnectAndShowStatus(ToolStripStatusLabel label) { label.Text = "Connecting..."; string connectionStatus = "Connected";
Jeg erklærede variablen som en static, det betyder at kan kaldes uden at være en del af et objekt. Dette betyder der kun er én variabel tilgængelig for alle udgaver af klassen. Dvs. derfor skal du huske at hvis du bruger flere form's af samme type samtidig i din application, vil informationen ikke være unik for hver af dine forme.
Derfor er metoden du bruger i din klasse den helt rigtige, da du har en instance member der skal opdateres. Du sender det objekt over der skal opdateres, i stedet for at hente informationen.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.