| 

.NET C# Java Javascript Exception

5
Wenn ich es richtig verstanden habe, stellt das Tab Control standardmäßig keine Funktion bereit, über die sich angezeigte Registerseiten automatisiert per Drag & Drop umpositionieren zu lassen. Ich möchte das Tab Control deshalb so erweitern, das es diese Funktionalität automatisch bereitstellt. Ich bin auf der Suche nach einem Code-Snippoet, das diese Funktionalität anhand der erforderlichen Standardereignisse veranschaulicht. Hat jemand einen Link dafür?
News:
04.08.2011
HeMan 101 3
2 Antworten
5
Hallo HeMan,

auf dieser CodeProject-Seite gibt es ein Tab-Control mit Drag & Drop unter .net:
draggabletabcontrol

Aus Deinem Tags ist leider nicht ersichtlich für welche Plattform Du es benötigst.

Gruß

CodeSniffer
04.08.2011
CodeSniffer 1,3k 4 9
Ich war zu schnell ;) Das Beispiel in deinem Link verwendet genau diese Methode.
puls200 04.08.2011
Das können nur ein paar Sekunden gewesen sein ;-)
CodeSniffer 04.08.2011
4
Eine fertige Lösung kann ich dir nicht präsentieren aber eine Idee, wie man vorgehen könnte. In deiner abgeleiteten Tabcontrol Klasse registrierst du die notwendigen Maus-Events: (MouseDown / Up / Move)
Mit der Funktion GetTabRect() kann man feststellen, ob man sich auf einem der Tab-Reiter befindet. Beim Loslassen der Maus kann man dann anhand der X-Koordinate feststellen, an welcher Position innerhalb der Reiter das Tab landen soll. Durch Umordnen der Tabpage Collection kann man die eigentliche Verschiebung realisieren. Im Mouse-move kann man ggf. die Reiter hervorheben, die als Verschiebeziele infrage kommen.
Kleines Beispiel zur Verwendung von GetTabRect():

private void tabControl1_MouseMove(object sender, MouseEventArgs e)
{
for (int i = 0; i < this.tabControl1.TabPages.Count; i++)
{
if (this.tabControl1.GetTabRect(i).Contains(e.X, e.Y))
Trace.WriteLine(string.Format("tabpage {0} hit", this.tabControl1.TabPages.Text));
}
} [/code]

Hoffe dir damit geholfen zu haben :)
04.08.2011
puls200 3,8k 7
Es scheint hier noch ein Bug mit dem [code] Tag zu geben: Hochkommas mag er anscheinend nicht ;-)
puls200 04.08.2011

Stelle deine Control-Frage jetzt!