Hallo Ihr,
ich habe mal eine Frage.
Wie bekomme eine Liste der verfügbaren Domainen, so wie es in dem Loginscreen von Windows gelöst ist. Dort ist ja in einer Combobox eine Liste aller Domainen.
Vielen Dank!
Pedro
Vielleicht ist das nützlich für Dich!
http://www.cshrp.net/content.aspx?showID=958
Dort drauf ist noch nen Link wo man das Beispiel runterladen kann.
Und das hier scheint auch brauchbare Hinweise zu enhalten.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcn7/html/vatchAdvancedSynchronizationTechniques.asp
mfg sclearscreen
Elfblood schrieb:
Hi. Ich als C# Neueinsteiger hätte da mal paar fragen die ich bisher noch nicht so wirklich klären konnte...Falls die fragen all zu dämlich sind bitte ich mal um Entschuldigung.
1. Beim erstellen eines Programms mit VS.Net wird doch angeblich dieser Plattform-Unabhängige Zwischencode erzeugt. Wenn ich aber ein Programm erstelle kommt trotzdem immer eine .exe hinten raus.
Wie genau komm ich denn an den Zwischencode ?
2. Ich war bisher vom MSVS bei C++ Anwendungen gewohnt einen schönen Dialog-Designer zu haben. Wo genau finde ich das für die c# Forms ?
Da muss ich doch wohl nicht wirklich jeden Button und alles per Code einfügen ?
3. Was ist denn der Unterschied zwischen C++.NET und C++ ? Das hab ich hier im Forum gerade gelesen und ...naja kann mir keinen Reim darauf machen.
Vielen Dank für Erleuchtung, Elflood
zu 1. Der jeweiliger Compiler übersetzt den CODE in IL - Code
das ist der Zeitpunkt wo die Phase des Entwurfs im Prinzip zu ende ist.
der IL - Code (EXE - Datei) wird kurz vor der Ausführung vom
JIT - Compiler
in nativen Code ausgeführt und somit als plattformspezischer Code
an deinen Professoer ähm Prozessor geschickt (Dein Programm tut jetzt)!
Die EXE müsste demnach den Zwischencode enthalten in der
.NET - Runtime
worked dann der JIT - Compiler rum! Du klickst auf das Programm.exe
der JIT - Compiler lalt den Prozessor mit OP - Codes voll.
Ich denk so müsste das laufen
zu 2. verstehe diese frage nicht da is im Prinzip alles wie beim VC++ 6.0
WYWG. Es gedragtgedropte ist doch schön. Im VC++ 6.0 musste man doch
auch element auswählen und per Maus ins Formular bringen. Oder
etwa nicht?
zu 3. Kannst alles machen wie vorher. .NET - bietet nathürlich mehr, alle
Sprachen im .NET setzen auf dasselbe Framework auf! In C++ .NET
gibts dann auch ne foreach - Schleife sowie. Standardmässig
ne Klasse für Reguläre - Ausdrücke!
Bis jetzt musst Du bei nem Standard C++ - Compiler um reguläre
Ausdrücke nutzen zu können andere Libs dazuholen. Beim .NET-
... ich wiederhole aber nur Dinge die hier schonmal angetragen worden
sind.
So nu is deshalb gut nun, mir fällt ein da gabs doch nen Link im .NET -
FAQ
also ich merke, ah da hamas doch: http://www.c-plusplus.net/forum/viewtopic-var-t-is-44042.html
lies am Link weiter!
mfg sclearscreen
McGreg schrieb:
Klar, ich kann im Assembler-Forum fragen, aber hat das was mit meinem Problem zutun? ich will doch die Länge des code_seg wissen
Ich bitte Dich ich verstehe Deine Frage wirklich nicht, man kann sein "How to's" auch Unterforumübergreifend erlangen!
ja dann sagen Dir die die entsprechenden Memonics und die kannste dann so wie ich Dir aufzeigen wollte, direkt in Deinen C/C++ - Code verankern!
mfg
Hab was zur dll Erstellung mit C# gefunden. Fals es jemanden interessiert, hier ist der Link:
[url]
http://www.c-sharpcorner.com/2/pr12.asp
[/url]
Hab da aber jetzt ein weiters Problem mit der DB Verbindung in der dll.
Bastel mir ein Insert String zusammen. Sieht so aus:
INSERT INTO MESDB_LOG VALUES (54, 52, 62, 41, 72)
Das Ding funzt auch, wenn ich es so auf die DB "anwende".
Aber sobald ich das aus der DLL aufrufe, geht nix mehr.
Erstmal übergebe ich den String an
sqlCommand1.CommandText
dann versuche ich den auszuführen:
sqlConnection1.Open();
sqlCommand1.ExecuteNonQuery();
nur das ExecuteNonQuery() geht irgendwie nicht in der dll.
Muss man da noch was besonderes beachten? Aus einer normalen Windows Anwendung heraus funzt der Code.
Dieser Thread wurde von Moderator/in kingruedi aus dem Forum Rund um die Programmierung in das Forum C# und .NET verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?
Dieses Posting wurde automatisch erzeugt.
Hallo sclearscreen,
danke erstmal dem werde ich nachgehen.
Mir geht es nicht in erster Linie darum alles selber zu schreiben als viel mehr darum Komponenten unabhängig (und somit kostengünstig) zu programmieren.
(kostenlose Komponenten sind auch willkommen ).
das geht leider auch nicht.
habs mal so versucht:
this->WaitBar->BackColor = Color::Red;
das gibt zwar keine Fehlermeldung funktioniert aber trotzdem nicht.
Oder gibts es um die Farbe von der Bar zu ändern noch eine andere Funk?
etwas was in runden Klammern eingeschlossen ist heisst
genau das was darin enthalten ist muss genau in der Reihenfolge Zeichen für Zeichen stehen der Senkrecht strich verbindet beider Patterens wahlweise
mfg
Hier der verbesserte Code des Hauptfenster
namespace _2FormsVisibleChange
{
/// <summary>
/// Zusammenfassung für Form1.
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
// unser Nebenfenster
private Form2 frm2;
private System.Windows.Forms.Button button1;
/// <summary>
/// Erforderliche Designervariable.
/// </summary>
private System.ComponentModel.Container components = null;
#region Vom Designer erzeugter Code
public Form1()
{
//
// Erforderlich für die Windows Form-Designerunterstützung
//
InitializeComponent();
//
// TODO: Fügen Sie den Konstruktorcode nach dem Aufruf von InitializeComponent hinzu
//
}
/// <summary>
/// Die verwendeten Ressourcen bereinigen.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (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.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(8, 8);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(112, 24);
this.button1.TabIndex = 0;
this.button1.Text = "button1";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(292, 267);
this.Controls.Add(this.button1);
this.Name = "Form1";
this.Text = "Fenster 1";
this.ResumeLayout(false);
}
#endregion
/// <summary>
/// Der Haupteinstiegspunkt für die Anwendung.
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
#endregion
// macht dieses Fenster unsichtbar und das Nebenfenster sichtbar
private void button1_Click(object sender, System.EventArgs e)
{
// unser Nebenfenster
Form2 frm2 = new Form2(this);
// ebenfenster sichtbar machen
frm2.Show();
// Hauptfenster verstecken
this.Visible = false;
}
}
}
So nun nochmal der Code des Nebenfenster
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace _2FormsVisibleChange
{
/// <summary>
/// Zusammenfassung für Form2.
/// </summary>
public class Form2 : System.Windows.Forms.Form
{
// Hier wird der Verweis auf das Hauptfenster gespeichert
private System.Windows.Forms.Form parent;
private System.Windows.Forms.Button button1;
/// <summary>
/// Erforderliche Designervariable.
/// </summary>
private System.ComponentModel.Container components = null;
// wichtig bekommt einen Verweis auf das Hauptfenster
public Form2(System.Windows.Forms.Form parent)
{
//
// Erforderlich für die Windows Form-Designerunterstützung
//
InitializeComponent();
//
// TODO: Fügen Sie den Konstruktorcode nach dem Aufruf von InitializeComponent hinzu
//
this.parent = parent;
}
/// <summary>
/// Die verwendeten Ressourcen bereinigen.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(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.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(8, 8);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(112, 24);
this.button1.TabIndex = 1;
this.button1.Text = "button1";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// Form2
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(292, 267);
this.Controls.Add(this.button1);
this.Name = "Form2";
this.Text = "Fenster 2";
this.ResumeLayout(false);
}
#endregion
// hier wird dieses Nebenfenster wieder unsichtbar und stattdessen das hauptfenster wieder sichtbar
private void button1_Click(object sender, System.EventArgs e)
{
// Hauptfenster sichtnar machen
this.parent.Visible = true;
// dieses Nebenfenster was eigentlich nen Dialog ist, als diesen
// auch beenden
this.Close();
}
}
}
Und wie gesagt sollen beide Fenster als wirklich eigenständige Anwendung laufen
dann musst Du meinen geschilderten Pseudocode konkret umsetzen
mfg
@User6457585668679987:
Ich habe auch schon in der Hilfe nachgeguckt, und auch das gleiche gefunden wie du. Problem ist nur, dass diese Hilfe sich auf einen OpenFileDialog bezieht, und nicht auf einen SaveFileDialog. Ich habe auch einen OpenFileDialog in meiner Anwendund, bei dem das so klappt. Das hilft mir allerdings beim Speichern nicht weiter.
Danke!
Habe auch noch eine Möglichkeit gefunden. Ich habe einfach die Funktionen in der Childform implementiert und darin auch ein MainMenu eingerichtet (Die Funktionen sollen sowieso alle über das MainMenu erreichbar sein). Und nun "Merge" ich die Menüs der Parent und der Childform einfach wie gewünscht zusammen - das war's auch schon. Ist recht einfach, dafür sind die Funktionen aber auch in der Childform und nicht in der Parentform. So werden diese Funktionen wohl für jede Childform neu erzeugt, also nur etwas wenn man genug RAM hat, bzw. einem das egal ist.
Sebo
Doch, notfalls mit ner Schleife die einzelnen Elemente durchgehen, aber das wird er ja wohl grad noch selber schaffen, wenn nicht: Programmieren an den Nagel hängen scherz.
Gruß c