Also falls jemand auch mal die selben Fragen hat wie ich, dann sollte er hier man nach schauen:
http://www.codeproject.com/csharp/mdiformstutorial.asp
Habe ich gerade gefunden....
byebye
Meinst Du den Inhalt der Work-Funktion???
public void Start()
{
bool doAction = true;
switch(_threadState)
{
case ThreadStates.Suspended:
{
doAction = false;
break;
}
case ThreadStates.Running:
{
doAction = false;
break;
}
case ThreadStates.Finished:
{
_th = new Thread(Work); // Den Inhalt der Work-Funktion????
doAction = true;
break;
}
}
if(doAction)
{
_th.Start();
_threadState = ThreadStates.Running;
}
}
Switch-case-Anweisungen mögen ja hässlich sein, sind aber das vorgesehene Konstrukt bei einer Mehrfachauswahl
class Class : IClonable
{
string str;
public Class(string input)
{
str = input;
}
public object Clone()
{
Class newClass = new Class(str);
return newClass;
}
}
Boah ... jetzt hab ich mir aber echt Mühe gegeben, um das zu demonstrieren ^^
Greetz
Hallo!
Ich bräuchte dringend einen Source-Code, oder eine Libary oder ähnliches, womit ich ICC-Profile bearbeiten/erstellen kann. Ich suche jetzt schon länger herum, doch leider habe ich bisher nichts brauchbares gefunden. Ich hoffe ihr könnt mir weiter helfen.
Gruß
Nightfall
Ich hab's jetzt ein wenig besser hinbekommen: indem ich die BackColor Eigenschaft der Textbox'en auf die Werte setze, die im DataGrid für die Markierung verwendet wird (SelectionBackColor), unterbleibt das hässliche Flackern bei MouseDown. Allerdings wird die Vordergrundfarbe der Textbox noch für die Dauer von MouseDown bis MouseUp hellgrau dargestellt. Das kann ich wohl nicht ohne weiteres verändern. Damit kann man aber fast leben...
Wenn aber jemand den easy Killertrick kennt: dann nur her damit!
Ohne Garantie, daß es funktionieren kann (bin eher in C++ zu Hause als in C#):
public int returnTestID()
{
if (InvokeRequired)
{
IAsyncResult res = BeginInvoke(new GetIndex(GetTestIndex));
return (int)EndInvoke(res);
}
else
return GetTestIndex();
}
Ich hab mir mal eben deine Seite angeschaut und gesehen, dass du dein Projekt nach C# konvertieren willst. Zu dem Zweck bietet die .Net-Bibliothek schon vorgefertigte Listen. Schau dir dazu mal "List<T>" im namespace System.Collections.Generic an.
(http://msdn2.microsoft.com/en-US/library/6sh2ey19.aspx)
Danke für den Tipp. Leider wurde ja die KeyDown Methode nicht angesprungen, aber du hast mich auf eine Idee gebracht.
Nun habe ich es nach viel Ausprobieren gelöst:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
// Text = msg.ToString() + " --- " + keyData.ToString();
if((keyData & Keys.Control) > 0)
if((keyData & Keys.Tab) == Keys.Tab)
{
bool bShift = (keyData & Keys.Shift) > 0;
SelectNextStringEditor(!bShift);
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
Ich habe einfach im Hauptformular den Tastendruck (Strg+Tab) abgefangen.
Danke nochmals für deine Mühe und vielleicht nützt dies ja auch anderen Usern...
Manuel schrieb:
Alternative Methode:
Einen Thread erstellen, der gestartet wird, bevor die MessageBox erstellt wird, ein paar Millisekunden wartet, das Fenster der MB sucht und dieses dann verschiebt.
So hast du die Position der Standard-MB verändert.
An sich finde ich es aber auch besser eine eigene MB zu schreiben. Ist ja nicht direkt schwierig - hält aber Platz für weitere Veränderungen offen
Greetz
Also wenn ich Dich richtig verstehen sucht Du z.B.: mit dem Thread
ueber die WinAPI-Funktion "FindWindow" (einverleibt per DllImport) etc. das HANDLE der MessagBox suchenum die im nachhinein und per Move-Irgendwas durch den Thread verschieben zu lassen?
Hallo liebe Community,
im Rahmen meiner Diplomarbeit möchte ich das VisioDrawingControl in meine Applikation einbinden. Leider komme ich damit nur recht schwerlich zu recht. Es wäre super wenn ihr mir helfen könntet.
Ich benötige Grundwissen in jeglicher Form, um beispielsweise ein Shape auszuwählen, auf der Zeichfläche zu platzieren, die XY Position eines Shapes zu ermitteln, etc. Rauskommen soll später im Prinzip ein Form mit ebend einem solchen VisioDrawingControl und weiteren Button, mit deren Hilfe verschiedene Shapes in die Zeichenfläche gebracht werden und dort nachräglich von dem späteren User verschoben werden können.
Schon mal danke im vorraus,
Gruß an die Welt da draussen
Hier mal eine HTML-Skriptauszug von der Seite www.gmx.de:
[html]<input type="text" name="id" id="gmx_id" style="width: 110px;" accesskey="l" /></div>
<label for="gmx_pw" style="clear: left; color: #FFF; float: left; font-weight: 700; height: 17px; padding-top: 3px; width: 80px;">Passwort:</label>
<div style="float: left; height: 17px; width: 120px;"><input type="password" name="p" id="gmx_pw" style="width: 110px;" /></div>[/html]
guck dir den HTML-Auszug mal in Ruhe an, dann sollte klar werden was es mit
htmldoc.All["gmx_id"].InnerText = "xxx@gmx.de";
htmldoc.All["gmx_pw"].InnerText = "xxx";
htmldoc.All["login"].InvokeMember("Click");
auf sich hat
LordJaxom schrieb:
Was übergibst Du denn bei z.B. ner Stringauswahl? Musst Du dem PropertyGrid vielleicht das Enum-Array Enum.GetValues(...) oder das String-Array Enum.GetNames(...) übergeben?
Die Enum ist ja nur ein Typ, dessen Wert eine Repräsentation einer Ganzzahl ist. Enum.GetValues(typeof(kindOf)) wäre demnach ein Array aller dieser Repräsentationen.
enum kindOf { typA, typB, typC };
// kindOf ist ein Typ. Ein Objekt dieses Typs ist eine Ganzzahl, die vom Namen typ* repräsentiert wird
kindOf einTyp = typA;
kindOf[] alleTypen = new kindOf[] { typA, typB };
// genau dieses Array "alleTypen" bekommt man auch vom Framework:
kindOf[] alleTypen = (kindOf[]) Enum.GetValues(typeof(kindOf));
wie kommt denn der Beitrag noch vor meinen?? Ich hatte doch extra noch geschaut.
Vielen Dank für die Hilfe!! Echt super nett!! Wahrscheinlich würde es so auch gehen, aber ich kann wenn ich mein kindof Typ an mein PropertyGrid übergeb ohne weiteren Programmieraufwand einfach das Enum nutzen