Hallo Community!
Ich bin im Thema drucken mit C# noch etwas schwach auf der Brust.
Ich arbeite im Moment an einem Projekt, in welchem Fahrzeuge verwaltet werden sollen. (Eine List, also wann der TÜV fällig ist, welche Rad und Reifendimension, Fahrgestellnummer, usw...) verwaltet werden sollen.
Das ganze zeige ich in einer ListView im Detailmode hübsch an und hinterlege die Zeilenhintergrundfarbe rot oder gelb je nach TÜV Status.
Jetzt möchte ich eine Liste Drucken, in der Jedes Auto mit allen Daten drinsteht und der KFZ-Sachbearbeiter nurmehr um die Autos herumgeht und abhackerlt ob die Daten in der ausgedruckten Liste auch wirklich so am Auto sind.
Und jetzt zu meiner eigentlich Frage:
Wie bekomme ich in C# einen hübschen Listenförmigen Ausdruck dafür hin? Gibts dafür Vorlagen?
Wenn nicht, wie geh ich es am besten an so etwas in meinem PrintPage Event zu zeichnen. Habe leider wenig erfahrung mit GDI.
Ich hoffe einer von euch kann mir ein paar nützliche Tipps geben 😉.
lg
Dragon
wenn man ein kleines oder mittleres unternehmen anmeldet, schenkt microsoft inzwischen sogar schon einige sehr praktische programme her.
mehr informationen unter:
http://www.microsoft.com/bizspark/default.aspx
lg
blue_dragon
Nach sehr intensiver Suche, bin ich dann auf
> gestoßen.
Dort findet sich, neben einer Anleitung zum Konvertieren, eine Sammlung bereits konvertierten Themes inklusive Vorschauanwendung.
Wenn man auf der Seite auf Download klickt, kommt nur eine Seite auf der steht "This project has no releases"
Wo kann ich mir den die konvertierten Themes herunterladen?
lg
Hallo,
Ich hab mir gedacht ich Poste meine Frage hier anstatt im Silverlight Topic, da es ja nicht um GUI's geht.
Meine Frage wäre, ob jemand von euch weiß wie ich in meinem Silverlight Control auf das Sessionobjekt der ASP.NET Seite auf dem mein Control ausgeführt wird zugreifen kann.
Ich müsste nähmlich auch in weiterer folge in einem generic WebHandler steuern ob der aufrufer ein Session Objekt hat, das ihn als von meiner Seite kommend autenthifiziert.
Danke schon mal im Voraus.
lg
Kolo
Hallo,
Ahhh, Dankeschön 👍.
Hat gerade in meinem Kopf klick gemacht das es ja das Stretch im HorizontalAlignment gibt 😉. Hab ich irgendwie vergessen das richtig zu setzen.
Dankeschön
Hallo,
Ich hab die Suche benutzt, aber leider keine Einträge gefunden die mir im Moment weiterhelfen können.
Ich habe das Problem, dass ich in ein Grid ein Stackpanel in eine Row Einfügen will, allerdings das Stackpanel sich nicht auf die Größe meiner Gridrow anpassen will.
Mein XAML Code ist folgender:
<UserControl x:Class="renderSearch.Page"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="Auto" Height="Auto">
<Grid x:Name="LayoutRoot" Background="White" ShowGridLines="true">
<Grid.RowDefinitions>
<RowDefinition x:Name="Title" Height="5*" />
<RowDefinition x:Name="Menue" Height="5*"/>
<RowDefinition x:Name="Content" Height="60*"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" x:Name="tblTitle" Text="Befundsuche" VerticalAlignment="Center" HorizontalAlignment="Center" />
<StackPanel Background="Black" Grid.Row="1" x:Name="canMenueItems" Height="Auto" Width="Auto" Margin="0,0,0,0" HorizontalAlignment="Center" VerticalAlignment="Center">
<Button x:Name="btnPatient" Height="Auto" Width="100" Margin="0,0,0,0"/>
</StackPanel>
</Grid>
</UserControl>
Wenn ich das ausführe, passt sich mein StackPanel scheinbar an die Größe meines Buttons an, aber nicht an die Gridrow.
Hallo!
Ich arbeite gerade an einer ASP Seite, in der ich ziemlich viele Verschiedene Labors habe und dazu eine noch größere Anzahl von Analysen die man in den Laboren durchführen kann.
Im moment schreibe ich für jedes Labor ein Panel und füge jede Untersuchung mit einer Checkbox hinzu. Das wird aber auf der Seite sehr schnell viel und unübersichtlich.
Am liebsten wäre es mir, ich kann anstatt des Panels ein Usercontrol nehmen, das der User ein und Ausklappen kann, um in den Labors die er braucht Analysen anzufordern und nicht immer sofort alles sieht.
Leider weiß ich nicht wie ich das Realisieren könnte. Habt ihr vielleicht ein paar Tipps für mich?
Liebe Grüße
Matthias
Ich hab mir jetzt ein Komplett neues Projekt erstellt...
Mit einer neuen Datenbank in die ich wieder eine Tabelle geschrieben habe und alles... Ich schreib mal den Sourcecode rein:
private void button1_Click(object sender, EventArgs e)
{
SQLiteConnection myconn = new SQLiteConnection("Data Source=myDATA.s3db;Version=3;");
myconn.Open();
SQLiteCommand cmd = new SQLiteCommand("INSERT INTO TISCHE VALUES ('Tisch1')", myconn);
cmd.ExecuteNonQuery();
}
Fehler passiert jetzt wieder beim Abwerfen des Commands... Er sagt mir "No such Table: Tische"
Meine Connection hat mit einem kurz vor dem Abwerfen des Commands Folgende Attribute:
DataSoruce = "myDATA"
Database = "main"
State = "Open"
Ich häng hier mal einen Screenshot von meiner Datenbank an
Der Fehler kommt in der Zeile:
conn.Open();
Und ich hab jetzt auch im Connectionstring New=TRUE gesetzt, aber es kommt trotzdem noch immer der selbe Fehler:
"Unable to open the database file"
Hallo,
hab meinen Code jetzt mal geändert das ich ihm das komplette verzeichnis der Datenbank angeb... sieht jetzt so aus:
private void button1_Click(object sender, EventArgs e)
{
SQLiteConnection conn = new SQLiteConnection("Data Source=C:\\Dokumente und Einstellungen\\Kolo\\Eigene Dateien\\Visual Studio 2008\\Projects\\SQLite\\SQLite\\bin\\Debug\\test.db;");
conn.Open();
}
wenn er jetzt das conn.Open() ausführen will, schreit er: (unable to open database file
ich weiß aber nicht wieso er die datei nicht öffnen kann
liebe grüße
verwendetes Datenbanksystem: SQLite
Hallo,
ich steh gerade vor einem Problem und weiß gerade wirklich nicht wie ich es lösen soll.
Habe mich mit einem Kollegen darauf geeinigt, das ich auf einem Mobilen Gerät Datensätze in deine SQLite Datenbank schreibe und er sie dann mit einem Programm auf dem Server in regelmäßigen Abständen ausließt und in eine andere DB schreibt.
Mein Sourcecode sieht so aus:
private void button1_Click(object sender, EventArgs e)
{
SQLiteConnection conn = new SQLiteConnection("Data Source=test.db;Version=3;New=False;Compress=False;UTF8Encoding=True");
conn.Open();
textBox1.Text = conn.State.ToString();
SQLiteCommand cmd = new SQLiteCommand("INSERT INTO test VALUES (1);", conn);
cmd.ExecuteNonQuery();
textBox1.Text = "Done";
}
Die test.db liegt in meinem \bin\Debug Verzeichnis... Es sieht so aus als würde er nicht die richtige .db öffnen (obwohl es nur eine gibt) weil er mir zur laufzeit beim ausführen des commands den fehler:
"SQLite error: no such table test"
ausgibt, obwohl ich diese tabelle definitv angelegt habe und sie mir auch mit SQLite Maestro in dieser .db angezeigt wird.
Ich hoffe ihr könnt mir helfen
Liebe Grüße
So, ich hab das ganze jetzt auf meinen Laptop umgelagert, da hab ichs geschafft den IIS zu installieren...
Wie kann ich meinem WebService zuweisen, das er auf dem IIS läuft?
Hab ich gemacht, aber leider immer nur die selbe Anleitung für Win XP Pro:
Place the Windows XP Professional CD-Rom into your CD-Rom Drive.
Open 'Add/Remove Windows Components' found in 'Add/Remove Programs' in the 'Control Panel'.
Place a tick in the check box for 'Internet Information Services (IIS)' leaving all the default installation settings intact.
Once IIS is installed on your machine you can view your home page in a web browser by typing 'http://localhost' (you can substitute 'localhost' for the name of your computer) into the address bar of your web browser. If you have not placed your web site into the default directory you should now be looking at the IIS documentation.
If you are not sure of the name of your computer right-click on the 'My Computer' icon on your desktop, select 'Properties' from the shortcut menu, and click on the 'Computer Name' tab.
Your default web directory to place your web site in is 'C:\Inetpub\wwwroot', but if you don't want to over write the IIS documentation found in this directory you can set up your own virtual directory through the 'Internet Information Services' console.
The 'Internet Information Services' console can be found in the 'Administration Tools' in the 'Control Panel' under 'Performance and Maintenance', if you do not have the control panel in Classic View.
Bei Punkt 3 komme ich nicht weiter, da dieser Eintrag nicht in der Liste steht 😦.
Irgendwie will das nicht so wirklich bei mir funktionieren...
Wenn ich eine Windows XP Pro CD einlege kann ich zwar auf Windows Komponenten hinzufügen/entfernen klicken, aber da ist kein IIS dabei..
Gibt es andere Möglichkeiten ihn zu installieren? Auf Google hab ich bislang nichts gefunden
Ich hab jetzt DMA aktiviert und der Emulator wird von Active Sync erkannt.
Ich denke mein Problem ist, das ich den Webservice unter localshost laufen habe und der Pocket PC Emulator ja eigentlich nicht auf meinem Rechner sein sollte und sich daher unter localhost meinen WebService nicht findet.
Wie kann ich jetzt den Webservice jetzt nicht unter Lokalhost sondern unter einer IP adresse ausführen?
(Habe unter ipconfig alle meine IP's des Rechners angesehen, aber unter keiner findet er mir den Webservice)
Ich denke, dass dies das Problem ist, weiß aber nicht wie ich es lösen kann
Ja, noch ist es der Emulator bis ich mein Testgerät bekomme.
Und ja ich verwende Active Sync. Aber noch seh ich keinen Zusammenhang zu meinem WebServiceProblem. In diesem (sehr guten Artikel) den du gepostet hast, finde ich nichts wie ich einen Emulator einstelle damit er sich wie ein PDA verhält der über WLAN auf meinen WebService zugreift (macht das überhaupt einen Unterschied?)
Bin im Moment etwas verwirrt.
Hallo!
Ich bin gerade dabei einen Webservice zu schreiben, der mir auf eine MySQL Datenbank zugreift. Dazu hab ich in Datentechnologien diesen Thread erstellt.
Jetzt habe ich aber ein Problem mit mit diesem WebService zu verbinden. Ich habe ihn zu Testzwecken lokal laufen.Ich habe ihn unter Web References hinzugefügt und auch im Namespace eingebunden. Debbunging funktioniert auch, aber soblad ich die Methode starte, die auf den WebService zugreift erhalte ich folgende Fehlermeldung:
Unable to connect to the remote server
Mein Code um die Methode aufzurufen ist folgender:
private void connect_Click(object sender, EventArgs e)
{
Service1 myService = new Service1();
answer.Text = myService.ConnectDB();
}
nichts großartiges, aber anscheinend hab ich nicht genug gemacht um mich mit dem WebService zu verbinden.
Ich hoffe ihr könnt mir weiterhelfen
Danke 🙂
Ich bin gerade dabei das ich den WebService Testweise auf eine Lokale Datenbank zugreifen lasse 🙂.
Ich denke wegen der WLAN Verbindung der PDA's werde ich mich noch ein paar mal hier im Forum melden 😉
Ich hab mir gedacht ich verwende einen ASP.NET Service und schreibe den Code unter C#.
Wie ich aber dann vom CF die Funktionen eines WebService aufrufe muss ich mir nochmal genauer anschauen 😉. Meine WebService Skills sind schon ein wenig eingerostet.
Wie genau meinst du das?
Wieso willst du eine Endlosschleife unterbrechen? Wieso hast du in einem Programm ohne Threads überhaupt eine Endlosschleife? Was meinst du mit "Window refreshen"? Meinst du damit die Controls neu zeichnen?
verwendetes Datenbanksystem: mySQL
Hallo 🙂
Ich hoffe ihr könnt mir ein bisschen helfen. Ich arbeite gerade an einem Projekt für eine kleine Gastronomie.
Der Besitzer möchte, dass seine Kellner über einen PDA Bestellungen direkt in die Küche und in das Verrechnungsprogramm geschrieben werden.
Die PDA's sollen unter Windows Mobile 6.0 laufen. Ich habe mir das so gedacht:
Da ich über das CF ja nicht auf eine MySQL Datenbank zugreifen kann, richte ich mir einen Webservice ein, der über den .NET Connector auf die MySQL DB Zugreift und die Einträge schreibt. Die Daten sendet ihm der PDA über WLAN.
Ist das so wie ich mir das denke durchführbar? Gibt es andere Lösungen die eurer Meinung nach sicherer sind?
Danke für eure Hilfe
verwendetes Datenbanksystem: SQL-Server 2005
Hallo
Ich sitz jetzt schon eine Weile an einem kleinen Programm, dass Daten aus einer .csv Datei in eine Tabelle lesen soll, und anschließend in die Tabelle in der Datenbank schreiben soll.
Ich bau mir also eine Tabelle aus der .csv Datei auf, setze auch die DatenTypen richtig.
Anschließend hole ich mir die zugehörige Tabelle aus der Datenbank und verwende den Merge Befehl des DatenAdapters um die Tabellen zusammenzufügen. Mein Insertcommand schreibt alle Einträge von der nun entstandenen Tabelle in die Datenbank.
Ich weiß allerdings leider nicht wie ich meinen Delete Befehl schreiben kann, da ich dynamisch verschiedene Tabellen einlese und immer einen anderen Primary Key habe.
Diverses Suchen in Google und hier im Forum haben mir leider keine Antworten gebracht.
Ich hoffe das ich nicht zu wirr geschrieben habe 😉 und es klar ist wo mein Problem ist
Heißt das ich hab außer C++ zu benutzen keine Möglichkeit Cursor zu verwenden?
Hallo!
Ich hab das Forum hier dursucht und auch lange zu dem Thema gegoogelt...
Aber ich hab noch kein CSharp Beispiel gefunden wie man einen serverseitigen Cursor in C# implementiert. Auch weiß ich nicht, wie ich ihn in SQL Server 2005 hineinbringe. Ich hab irgendwo gelesen, das er nicht unterstützt wird aber verwendet werden kann (???).
Kann mir da jemand weiterhelfen?
Ich hab mir von Micorosorf mal die ganzen Sampledatein heruntergeladen aber da ist nur ein Beispiel über einen FastForwardCursor in C++ und ein .ncb Datenbank die ich mit dem Managment Studio nicht öffnen kann.
Also ich bin Momentan echt Ratlos und komme nicht weiter
Ich hoffe ihr könnt mir helfen
lg
Doch, der Service muss eine .exe starten, die vom Server auf alle Clients verteilt wird, wenn sich jemand bei Windows anmeldet, soll der Prozess auf Idle gehen und wenn die Maus 5 Minuten nicht bewegt wird soll er weiter rechnen. Bei Abmeldung des Users auch sofort wieder anfangen zu rechnen
Hallo!
Ich und ein Freund arbeiten gerade an der Entwicklung eines Grid Computing Systems. Jetzt stellt sich mir die Frage wie ich eine .exe Datei starten kann, wenn Windows gerade am Anmeldebildschirm ist.
Wir wollen das gerne über einen Windows Service machen, jetzt stellt sich natürlich die Frage wie ich einen Windows Service die berechtigung gebe eine .exe zu starten wenn noch kein User eingeloggt ist und wie ich einstelle, das der Service sich startet, wenn sich noch kein User eingeloggt hat.
lg
Ja aber die die standart von Windows sind sollten eig. eh für fast alles reichen, gibts da irgendwie ne zusammenfassung wo man sieht welche funktion welche parameter erwartet und was sie tut?
Nen Webcast kannst du auch mit dem Programm "Camtasia Studio" aufnehmen...
Hompage von Camtasia --> gibts ne gratis trial version
Wenn du eine Antwort findest post sie bitte... Ich denk mir das Leute sowas sehr gerne in ihre Referenzen oder ähnliches aufnehmen würden
lg
Ich frag ja ob wer weiß obs dazu ne Doku gibt oder so...
Ich denk nicht das das da drinsteht...
Ich mein die .dll Datein die man mit [DLLImport("bla.dll")]
einbinden kann...
Hi Leute!
Wisst ihr ob es irgendwo ne Refernz gibt wo man aufgelistet bekommt in welcher DLL welche Funktion ist und welche parameter sie will usw...
Das wäre sehr nett wenn ihr mir sagt wie man sowas herausfindet...
lg
Dragon
Danke!
Ich hatte den SourceCode aus einem Tutorial und hab mir ein Videoruntergeladen wo das Dreick so aussehen sollte.... was es bei mir aber nicht tat.
Und weil ich erst in den Anfängen von DirectX bin wusste ich nicht das es mit dem Present falsch war.... ich dachte das muss sein weil es im Tutorial so im Code gestanden ist.
lg
Fällt niemanden etwas zu dem Problem ein?
Oder hab ich mich unklar ausgedrückt was mein Problem ist?
Bitte sagt es mir falls ich mich anders ausdrücken soll....
Hi Leute!
Also ich hab erst kürzlich mit Managed DirectX angefangen....
Ich hab mir ein Programm geschrieben das ein Dreieck zeichnen soll und dieses dann einfach mal ein bisschen im Raum herumfliegen lassen soll.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.DirectX;
using Microsoft.DirectX.Direct3D;
namespace Übung00
{
public partial class Form1 : Form
{
private Device device = null;
float angle = 0.0f;
public Form1()
{
InitializeComponent();
this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.Opaque, true);
}
/// <summary>
/// We will initialize our graphics device here
/// </summary>
public void InitializeGraphics()
{
// Set our presentation parameters
PresentParameters presentParams = new PresentParameters();
presentParams.Windowed = true;
presentParams.SwapEffect = SwapEffect.Discard;
// Create our device
device = new Device(0, DeviceType.Hardware, this, CreateFlags.SoftwareVertexProcessing, presentParams);
}
protected override void OnPaint(PaintEventArgs e)
{
device.Clear(ClearFlags.Target, System.Drawing.Color.CornflowerBlue, 1.0f, 0);
device.Present();
SetupCamera();
CustomVertex.PositionColored[] verts = new CustomVertex.PositionColored[3];
verts[0].Position = new Vector3(0.0f, 1.0f, 1.0f);
verts[0].Color = System.Drawing.Color.Aqua.ToArgb();
verts[1].Position = new Vector3(-1.0f, -1.0f, 1.0f);
verts[1].Color = System.Drawing.Color.Black.ToArgb();
verts[2].Position = new Vector3(1.0f, -1.0f, 1.0f);
verts[2].Color = System.Drawing.Color.Purple.ToArgb();
device.BeginScene();
device.VertexFormat = CustomVertex.PositionColored.Format;
device.DrawUserPrimitives(PrimitiveType.TriangleList, 1, verts);
device.EndScene();
device.Present();
this.Invalidate();
}
private void SetupCamera()
{
device.RenderState.CullMode = Cull.None;
device.RenderState.Lighting = true;
device.Transform.Projection = Matrix.PerspectiveFovLH((float)Math.PI / 4, this.Width / this.Height, 1.0f, 100.0f);
device.Transform.View = Matrix.LookAtLH(new Vector3(0,0,5.0f), new Vector3(), new Vector3(0,1,0));
device.Transform.World = Matrix.RotationAxis(new Vector3(angle / ((float) Math.PI * 2.0f), angle / ((float) Math.PI * 4.0f), angle / ((float) Math.PI * 66.0f)), angle / (float) Math.PI);
angle += 0.1f;
}
}
}
Eigentlich soltle ich dadruch ein komplett schwarzes Dreieck im Raum herumfliegen lassen, doch ich bekomme ein leicht bläulich schimmerndes... Das meine Grafikkarte das nicht schafft kann ich mir nicht vorstellen da ich eine ziemlich Karte habe.
Kann es sein das ich mich mit dem Invalidate Befehl geirrt habe?
lg
Hi!
Ich weiß nicht wer von euch das MausOMeter kennt, aber ich würd sowas gerne nachcoden.
Jetzt weiß ich aber leider nicht, dass wenn ich eine C# Windows Forms Application hab wie ich die Events für KeyPress oder MouseMove außerhalb meiner Form abfrage.
Ich will nähmlich meine Applikation in den Tray legen mit nem Icon und jede Mausbewegung, Keypress und so trotzdem mitbekommen.
lg
Dragon
Kann mir jemand die ScaleTransform(1 , -1) Methode erklären? Aus der VS Hilfe werd ich nicht schlau.
Aber das ist ja mit DirectX und nicht GDI+ oder geht das genauso?
Hab jetzt folgenden Code geschrieben und auf der Form wird nichts angezeigt:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace Koordinatensystem_Verschiebung
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.TranslateTransform(this.ClientRectangle.Width, this.ClientRectangle.Height);
e.Graphics.ScaleTransform(1, -1);
e.Graphics.PageUnit = GraphicsUnit.Millimeter;
e.Graphics.DrawLine(Pens.Black, 10, 10, 100, 100);
}
}
}
Hi!
Wisst ihr eine möglichkeit wie mir in GDI+ ein eigens Koordinatensytem machen kann?
ich hätte gene das die linke untere ecke eines panels auf einer form zum Punkt P(0/0) wird und ich von dort aus nach oben bzw rechts zeichnen kann.
lg
Hi Leute!
Kennt jemand von euch einen brauchbaren guten visuellen Editor für Finite State Machine Diagramme?
Am besten währe eine Darstellung als State Diagramm
Hi!
Weiß jemand von euch ob es einen define ersatz in C# gibt?
Ich hab nähmlich folgendes Problem:
Ich möchte ein Programm schreiben von dem ich vorher aber nicht weiß ob double alleine reicht. Jetzt werd ich mir einige Variablen anlegen vom Typ double nachher das programm laufen lassen und dann wenn ich ein Problem bekomme das double zu klein ist muss ich das ändern, aber ich will dann net alle meine double umschreiben müssen gibts da was das ich so was wie
#define mytype double
mache und wenn das nicht reicht umschreibe
#define mytype decimal
weiß das jemand von euch?
und was nicht so wichtig aber auch interessant währe ist:
gibts eine Möglichkeit dass ich nicht immer Math.Sin(x) schreiben muss sondern nur sin(x) (ohne das ich eine eigene Funktion mache) schreibe?
lg
Aja danke... Hab jetzt auf Pixel umgestellt und es funktioniert so wie ich es wollte 🙂 ich dachte er stellt mir dann alles auf cm um
Aber wie bekomm ich die umrechnung von pixel auf cm ??
private void button1_Click(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
this.Refresh();
g.PageUnit = GraphicsUnit.Millimeter;
//g.DrawRectangle(Pens.Black, 0, 0, 1, this.ClientSize.Height - 15);
g.DrawLine(Pens.Black, 1, 1, 1, this.ClientSize.Height - 100);
g.Dispose();
}
Wenn ich das schreibe sollte ja meiner Meinung nach eine Linie von oben nach unten gezogen werden, die dann einen cm über der unteren Formgrenze endet, die Linie die ich zeichnen lasse, geht aber trotzdem bis ganz nach unten
Hi Leute!
Ich möchte in GDI+ einen Strich von 0,0 bis genau zum unteren Ende der Form zeichnen, aber wenn ich this.ClientSize.Height nehme, dann zeichnet er den Strich immer viel weiter nach unten...
Bei this.ClientRectangle.Height ist das genauso...
Kennt jemand eine möglichkeit wie ich direkt die Y Koordinate der untersten Stelle meiner Form bekomme?
lg
Hallo!
Ich sage im Namen von Flumm und von mir, dass bei uns generelles Interesse besteht.
Die Frage ist nur der Veranstaltungsort und die Zeit (da wir beide noch Schüler sind)
lg
hi leute!
bin gerade auf noch ein problem gestoßen, also ich zeichne ein weiß gefülltes rechteck auf meine form mit dieser methode:
private void CreateGraphSpace()
{
Graphics g = this.CreateGraphics();
g.FillRectangle(Brushes.White, 10, 10, this.ClientSize.Width - 20, this.ClientSize.Height - 50);
g.Dispose();
}
Ich lege mir den linken oberen und den rechten unteren punkt als variablen an. wenn ich jetzt den rechten unteren punkt so einzeichen lassen will:
g.DrawLine(Pens.Black, MaxPt.X - 5,MaxPt.Y,MaxPt.X + 5,MaxPt.Y);
g.DrawLine(Pens.Black, MaxPt.X, MaxPt.Y - 5, MaxPt.X, MaxPt.Y + 5);
dann wird mir dieses kreuz ungefähr 10 pixel über dem untersten rand und 10 pixel von rechten rand des dreiecks eingezeichnet.
meinen maxPt ist so definiert:
Point MinPt = new Point(10, 10);
Point MaxPt;
private void MainForm_Resize(object sender, EventArgs e)
{
CreateGraphSpace();
MaxPt = new Point(this.ClientSize.Width - 20, this.ClientSize.Height - 50);
}
private void MainForm_Load(object sender, EventArgs e)
{
MaxPt = new Point(this.ClientSize.Width - 20, this.ClientSize.Height - 50);
}
Ich hab keine ClientArea gefunden, ich hab nur etwas wie ClientSize oder ClientRectangle gefunden und mit keinem der beiden Sachen wird es mir korrekt gezeichnet. Mit ClientSize liegt er mir immer noch ungefähr 10 Pixel auserhalb...
lg
Hallo!
Ich bin mit GDI+ noch nicht so starkt vertraut aber kann mir jemand von euch sagen warum ein Punkt der an this.Heigt und this.Width sitzt, nicht der rechte untere Rand der Form ist?
Er sitzt irgendwo auf der Form, ich brauche ihn aber genau an der rechten unteren Ecke und ein Rechteck zeichnen zu können.