开发者

C# AutoSize Label Issue

In my program I have label controls which users can add at will, the labels can be bound to data source too. I added the AutoSize property to a property grid I designed and there is the option to turn this on and off at will. The problem I am running into is that if the AutoSize flag is set to true in the property grid it will AutoSize to the current cell contents which is correct but if I move ahead one record in my data source and the text is longer then the label the label will not resize again. Am I doing something wrong or this the way A开发者_StackOverflowutoSize works?

Also does anyone know if it possible to make snap lines available at run time to align controls?

Thanks.


if I'm understanding your question correctly you're creating a custom component "label" and the problem is that is doesn't adjust its size when its text is changed. Take a look at the Control.OnTextChanged method, you can put your size adjusting logic there. Smth like this:

public class TestLabel : Control
{
  protected override void OnTextChanged(EventArgs e)
  {
   // adjust size here
   base.OnTextChanged(e);
  }
}

as for snap lines, those are drown by designer, in run time you can draw them yourself by overriding your form or parent control OnPaint method

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜