Ich muss eine Bildlaufleiste für eine Komponente hinzufügen, wenn ein Benutzer ihre Schriftgröße auf 125% oder 150% ändert. Dazu habe ich in der Komponente eine Methode hinzugefügt, die die AutoScroll-Eigenschaft auf true setzt.Wie kann ich die Eigenschaften eines Controls ändern, nachdem die Ressourcendatei angewendet wurde?
protected override void OnSizeChanged(EventArgs e)
{
if (SystemFonts.DefaultFont.Size < 8)
{
this.AutoScroll = true;
}
if (this.Handle != null)
{
this.BeginInvoke((MethodInvoker) delegate
{
base.OnSizeChanged(e);
});
}
}
Das funktioniert gut, aber eine der Komponenten sollte keine Bildlaufleiste erhalten.
Das obige Verfahren wird ausgelöst, wenn die Controller wie folgt zu initialisieren:
this.ultraExpandableGroupBoxPanel1.Controls.Add(this.pnlViewMode);
this.ultraExpandableGroupBoxPanel1.Controls.Add(this.ucASNSearchCriteria);
resources.ApplyResources(this.ultraExpandableGroupBoxPanel1, "ultraExpandableGroupBoxPanel1");
this.ultraExpandableGroupBoxPanel1.Name = "ultraExpandableGroupBoxPanel1";
Verfahren ausgelöst werden, wenn sie in Kontrollen und nach dieser Zugabe wird die Ressource angewendet werden. Die Komponente, die ich nicht ändern möchte, gehört zu in obigem Code.
Jetzt möchte ich die AutoScroll
Eigenschaft von 'UCASNSearchCriteria' auf falsch setzen, nachdem die Ressource angewendet wurde. Ich habe wenig Wissen über den Renderprozess von C# ui-Steuerelementen. Ist es möglich, Eigenschaften nach dem Anwenden dynamisch zu ändern?
Kannst du nicht einfach tun ucASNSearchCriteria.AutoScroll = false; – David
Sie müssen nicht jedes Mal "dieses" jedes Mal setzen. – David