Wie um zu gewährleisten, Winforms-Steuerelemente bleiben rechts ausgerichtet, unabhängig von schriftart-Einstellung?
Ich habe eine windows forms Anwendung in c# geschrieben. Ich erstellen, Checkboxen, Textfelder und Schaltflächen in einem panel. Ich habe einige Probleme wenn ich es in das Rechteck monitor.
Wenn ich den computer Schriftgröße normal (Systemsteuerung -> Darstellung und Designs), ist es kein problem. Textfeld und Schaltfläche Ausrichtung ist rechts oben und es funktioniert.
Aber wenn ich die computer-schriftart zu größeren Systemsteuerung Textfelder und Schaltflächen nach Links gehen. Ausrichtungen, die nicht arbeiten. Übrigens habe ich alle im Lauf der Zeit. Ich benutze diesen code:
tmin[i].Anchor = AnchorStyles.Right | AnchorStyles.Top;
tmax[i].Anchor = AnchorStyles.Right | AnchorStyles.Top;
gb[i].Anchor = AnchorStyles.Right | AnchorStyles.Top;
tmin und tmax sind arrays von Textfeldern. gb ist array-Taste. was kann ich dagegen tun?
BEARBEITEN
Beispielsweise initiliazation von tmax textbox-array :
height = 1;
padding = 10;
for (int i = 3; i < ff.documentColumnCount; i++)
{
tmax[i] = new TextBox();
tmax[i].Name = max + (i - 2).ToString();
tmax[i].TabIndex = i;
tmax[i].Size = new System.Drawing.Size(65, 20);
tmax[i].Location = new System.Drawing.Point(326, 36 + i * 20);
tmax[i].TextChanged += new System.EventHandler(tmax17_TextChanged);
tmax[i].Bounds = new Rectangle(326, 20 + padding + height, 65, 22);
tmax[i].Anchor = AnchorStyles.Right | AnchorStyles.Top;
maxTextBoxes.Add(tmax[i]);
panel5.Controls.Add(tmax[i]);
height += 22;
}
Ich habe schon das so gemacht. Ich Schreibe eine ganze initiliazation. Andere sind schon ähnlich mit Ihr. Siehe edit
InformationsquelleAutor dnur | 2011-10-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht verwenden Anker. Mit Dock-Eigenschaft statt, und Min groß wie nötig.
Dock
Eigenschaft jeden besser als ein Anker.Haben Sie versuchen Sie es oder sind Sie nur raten, dass es nicht einen Unterschied machen?
Docking funktioniert nur gegen den Kanten von der form, und kann man nicht mit Polsterung oder Leerzeichen zwischen den Kontrollen. Aus der Beschreibung und den code in die Frage, ich sehe nicht, wie docking-lösen würde das OP-problem. Wenn Sie könnten erweitern Sie Ihre Antwort und erklären, wie es zu lösen wäre die OP das problem, ich würde gerne meine Meinung zu ändern.
InformationsquelleAutor ahazzah
Anstelle der Verankerung der Kontrolle an den rechten Rand des Formulars (das, was
AnchorStyles.Right
bedeutet), legen Sie dieTextAlign
Eigenschaft zuHorizontalAlignment.Right
, so dass die text innerhalb des Steuerelements wird rechts ausgerichtet.InformationsquelleAutor Daniel Pryden