获取AutoSize属性为true的Label的Size

Winform窗体上定义一个Lable用来显示信息,信息是动态的,由于Lable初始化时宽度是固定的,所以把它的AutoSize属性设置为True,当宽度不够时自动加长。但是后面在设置Label的Location属性时我需要得到Label的Width,但得到的仍然是默认初始化时的宽度,比如我传进的字符数为50个,Label的宽度取的仍然是默认值100。。 怎么才能取得Label的实际宽度呢?


Label lbl = new Label();
lbl.Text = "fjajlgjlaskjgasjlkgasljgalsjglasjglkskfa";
lbl.Font = new System.Drawing.Font("宋体", 16F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));

Graphics g = Graphics.FromHwnd(lbl.Handle);
SizeF size=g.MeasureString(lbl.Text, lbl.Font);//获取大小
g.Dispose();


你可能感兴趣的:(byte,WinForm)