Hallo,
ich hab ein kleines problem, welches normalerweise keins wäre, wenn ich es nicht mit den WinForms zu tun hätte
Also eine Control klasse
Code:
public class DoaViewProperty : Control
{
private DaoViewCore daoViewCore;
private PropertyInfo propertyInfo;
public DoaViewProperty(DaoViewCore aDaoViewCore, PropertyInfo aPropertyInfo)
:base()
{
daoViewCore = aDaoViewCore;
propertyInfo = aPropertyInfo;
this.Text = propertyInfo.Name;
//this.Parent = daoViewCore;
//daoViewCore.Controls.Add(this);
daoViewCore.ResumeLayout(false);
daoViewCore.PerformLayout();
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
e.Graphics.DrawString(propertyInfo.Name, Font, Brushes.Black, new Point(2, 2));
}
}
jetzt will ich diese zur laufzeit in ein userControl hängen:
Code:
// im userControl
foreach (PropertyInfo pi in modelType.GetProperties())
{
using(DoaViewProperty dvp = new DoaViewProperty(this, pi))
{
dvp.AutoSize = false;
dvp.BackColor = System.Drawing.SystemColors.ControlDark;
dvp.Location = new System.Drawing.Point(0, 0);
dvp.Name = "mu";
dvp.Size = new System.Drawing.Size(100, 16);
dvp.TabIndex = 0;
Controls.Add(dvp); }
}
Update();
So, die schleife läuft er prima durch. Er übergibt alle nötigen daten, ohne fehler. ABER es erscheint kein Control!
Wie geht der trick, die WinForms zu überreden dies zu tun? (kann auch delphi code sein) (benutze VS 2005, sollte aber hier nix zur sache tun).
mâxîmôv.
{KDT}