Wie kann ich jedoch dafür sorgen, dass ein Rechteck ständig rotiert, wie bei diesem Snake Spiel? Oder denke ich viel zu kompliziert? Gibt es dafür möglicherweise fertige Funktionen, mit dem man dies realisieren kann?
Die Winkelangabe bei RotateAt variabel machen und pro Renderiteration aktualisieren.
Du kannst über die Methode GetType den Typ deiner Instanz bekommen und dann per GetProperties() die Liste der verfügbaren Properties abfragen.
Oder so:
public static int TotalMonths(DateTime from, DateTime to)
{
int result = ( to.Year - from.Year ) * 12 + to.Month - from.Month;
return to.Day < from.Day ? result-1 : result;
}
Steht auch in der msdn:
Wenn Sie die BinaryFormatter-Klasse oder die SoapFormatter-Klasse zum Serialisieren eines Objekts verwenden, können Sie mit dem NonSerializedAttribute-Attribut das Serialisieren eines Felds verhindern. Sie können dieses Attribut z. B. verwenden, um die Serialisierung von vertraulichen Daten zu verhindern.
Die Zielobjekte des NonSerializedAttribute-Attributs sind öffentliche oder private Felder einer serialisierbaren Klasse. In der Voreinstellung sind Klassen nicht serialisierbar, es sei denn, sie sind mit dem SerializableAttribute markiert. Während des Serialisierungsvorgangs werden in der Voreinstellung alle öffentliche und privaten Felder einer Klasse serialisiert. Mit NonSerializedAttribute markierte Felder werden aus der Serialisierung ausgeschlossen. Wenn Sie die XmlSerializer-Klasse zum Serialisieren eines Objekts verwenden, können Sie die XmlIgnoreAttribute-Klasse verwenden, um dieselbe Funktionalität zu erreichen. Sie können auch die ISerializable-Schnittstelle implementieren, um den Serialisierungsvorgang explizit zu steuern. Beachten Sie, dass Klassen, die ISerializable implementieren, dennoch mit SerializableAttribute markiert werden müssen.
[XmlIgnoreAttribute]
public bool IsDisposed
{
get { return mIsDisposed; }
}
Hat' ich heut schonmal: http://c-plusplus.de/forum/viewtopic-var-t-is-236139.html
Ansonsten könntest du versuchen mehrere Jobs parallel laufen zu lassen.
Das liegt einfach daran, dass du vermutliche eine Schriftart verwendest deren Zeichen nicht alle die selbe Breite haben...
string.Format( "{0,-10} ist angemeldet!", name )
Dann schau nochmal was "Golo Roden" geschrieben hat...
Aber o.Count bleibt nach erhöhen bei "0". was nu?
Siehe oben! :p
Richtig wäre meiner Meinung nach:
ObjValues o = list[0]; o.Count++; list[0] = o;
Korrekt!
Ganz einfach:
if ( string.Compare( groß, klein, true ) == 0 )
Du müsstest also eine Hilfsvariable anlegen:
Und wieder zurückschreiben...
Hast du das ganze im Release Compilat getestet?
Tipp:
Color c = ColorTranslator.FromHtml( "#f0f8ff" );
string x = ColorTranslator.ToHtml( c );
c = ColorTranslator.FromHtml( "Aliceblue" );
x = ColorTranslator.ToHtml( c );
ja schon aber da steht ja net was die verschiedenen Parameter bewirken oder?
Doch, da steht u.A. genau das.
Drückt eigentlich irgendjemand auch mal F1?
Die Punkte die das Parallelogram aufspannen in das du blitten willst. Aber das brauchst du in dem Fall garnicht. Ich würde verwenden: Graphics..::.DrawImage Method (Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit, ImageAttributes).
Du kannst die Attribute bei DrawImage mit geben.
die interpolationsmethode würde ich nach flüchtigem überfliegen sagen.
Sehr sinnig...
Schau mal hier im vorletzen Beitrag:
Was ist der Vorteil gegenüber meiner Methode?
Bitmap result = keepAspect ? new Bitmap( srcRect.Width, srcRect.Height, src.PixelFormat ) : new Bitmap( size.Width, size.Height, src.PixelFormat );
wo liegt der unterschied zwischen true/false?
Schau halt nochmal genau hin! 😃
Alternativ könnte ein Pixelformat mit Alphakanal bessere Ergebnisse bringen.
Da steht alles was du über PCX wissen musst: http://www.qzx.com/pc-gpe/pcx.txt
Sowas?
public static Image ScaleBitmap( Image src, Size size, bool keepAspect )
{
if ( src == null )
throw new ArgumentNullException( "src" );
if ( size.Width == 0 || size.Height == 0 )
throw new ArgumentException( "invalid image size" );
float sx = 1f;
float sy = 1f;
if ( src.Width > 0 )
sx = ( float )size.Width / src.Width;
if ( src.Height > 0 )
sy = ( float )size.Height / src.Height;
if ( keepAspect )
sx = sy = Math.Min( sx, sy );
Rectangle srcRect = Rectangle.Round(new RectangleF( 0f, 0f, ( float )src.Width * sx, ( float )src.Height * sy ));
Bitmap result = keepAspect ?
new Bitmap( srcRect.Width, srcRect.Height, src.PixelFormat ) : new Bitmap( size.Width, size.Height, src.PixelFormat );
using ( Graphics g = Graphics.FromImage( result ) )
{
g.DrawImage( src, srcRect );
}
return result;
}
Hier mal meine Version (für HLS mit 0-1 statt 0-360), ist ja aber nur gering unterschiedlich.
public static Color ToColor(HSL c)
{
float r = 0, g = 0, b = 0;
if( c.L != 0 )
{
if( c.S == 0 )
{
r = g = b = c.L;
}
else
{
float t1 = c.L <= .5f ? c.L * (1.0f + c.S) : c.L + c.S - (c.L * c.S);
float t2 = 2.0f * c.L - t1;
float[] t3 = new float[]
{
c.H + 1.0f / 3.0f,
c.H,
c.h - 1.0f / 3.0f
};
float[] result = new float[] { 0, 0, 0 };
for( int i = 0; i < result.Length; ++i )
{
if( t3[i] < 0 )
t3[i] += 1.0f;
if( t3[i] > 1 )
t3[i] -= 1.0f;
if( 6.0f * t3[i] < 1.0f )
result[i] = t2 + (t1 - t2) * t3[i] * 6.0f;
else if( 2.0f * t3[i] < 1.0f )
result[i] = t1;
else if( 3.0f * t3[i] < 2.0f )
result[i] = (t2 + (t1 - t2) * ((2.0f / 3.0f) - t3[i]) * 6.0f);
else
result[i] = t2;
}
r = result[0];
g = result[1];
b = result[2];
}
}
return Color.FromArgb((int)(255.0f * r), (int)(255.0f * g), (int)(255.0f * b));
}
Mein Ergebnis:
Versuchs mal ohne "MakeTransparent".
Nur so als Tipp. Einige Stellen im Code sind etwas suboptimal gelöst. Du könntest z.B. die Methode "Verbindung_aufbauen()" von den privaten Feldern loslösen:
private bool Verbindug_aufbauen()
{
try
{
Network_Client = new TcpClient(this.KServername, this.KPort);
return true;
}
catch
{
return false;
}
}
Dann kannst du bei deiner Methode "Erstanmeldung()" das Feld mit dem Rückgabewert setzen:
// ...
KVerbunden = Verbindung_aufbauen();
if ( KVerbunden )
{
// tu dies
}
else
{
// tu das
}
Damit hast du dir einen Funktionsaufruf gespart sowie dein If-Statement auf ein if-else eingeschränkt (bool bietet ohnehin nicht mehr als true/false).
Und wie frage ich den genutzten Port ab? Ich würde das gerne loggen wer wann auf welchem Port aktiv war.
int port = DeinIPEndPoint.Port
Danke 😄
Bitte.
Ja, in der Tat. Aber (angenommen) man will den aufrufenden Thread nicht blockieren...
Du kannst den zweiten Parameter des Konstruktors von IPEndPoint (port) auf 0 setzen. Dann bekommst du einen beliebigen Port der noch zur Verfügung steht.
Besser Control.BeginInvoke statt Control.Invoke!
Habe ich irgendwas übersehen?
Ja:
DeineForm.Controls.Add(DeinControlElement);
[edit]
zu spät! 🙂
[/edit]
Equivalent dazu gibt es die Eigenschaft Displayed auch für Objekte der Klasse DataGridViewRow.
Fassen wir also zusammen:
private bool IsCellDisplayed( int x, int y )
{
return dataGridView1.Columns[ x ].Displayed && dataGridView1.Rows[ y ].Displayed;
}
Nimm doch die Komponente VScrollBar. Die kannst du ganz frei Positionieren. Oder was genau ist dein Problem?
Ich kann auf dem Bild leider nicht besonders viel erkennen und deshalb dein Problem nicht nachvollziehen!
Du könntest die Grafik ja in kleine Bereiche unterteilen und für jeden Bereich den Algorithmus aufrufen.
Aber http://de.wikipedia.org/wiki/Floodfill tut das!
😁 ihr habt recht das ist echt einfacher ! Werde in zukunft dann doch immer diese art verwänden.
Danke euch zwei
MFG
BlauBär
Wieso nicht auch in der Gegenwart?
So in der Art:
string line = ( string )listBox1.SelectedItem;
Jedweder Vergleichsoperator scheitert in der Verwendung im Zusammenhang mit Generics!
Das is im Normalfall eine gestrichelte Linie mit einer Pfeilspitze auf Seiten der Klasse, welche die Abhängigkeit verursacht.
Ohne den Code zu kennen würde ich sagen: Form3 und Form4 eine Komposition, evtl nur eine Aggregation. Form1 und Form4 maximal eine Abhängigkeit.
Ja, das geht. Aber wieso verwendest du nicht einfach eine Listbox? Da geht das auch und noch dazu sehr viel einfacher!
Komposition heißt die Beziehung.
Du könntest das ListViewItem an die entsprechenden Funktionen übergeben.
Sowas?
class foo<T> where T: struct
{}