Path Display in Label
.net, c#, path, winforms
Solution
Use TextRenderer.DrawText with TextFormatFlags.PathEllipsis flag
void label_Paint(object sender, PaintEventArgs e)
{
Label label = (Label)sender;
TextRenderer.DrawText(e.Graphics, label.Text, label.Font, label.ClientRectangle, label.ForeColor, TextFormatFlags.PathEllipsis);
}
Your code is 95% there. The only problem is that the trimmed text is drawn on top of the text which is already on the label.
Yes thanks, I was aware of that. My intention was only to demonstrate use of `DrawText` method. I didn't know whether you want to manually create event for each label or just override `OnPaint()` method in inherited label. Thanks for sharing your final solution though.
Problem
Are there any automatic methods for trimming a path string in .NET? For example: ``` C:\Documents and Settings\nick\My Documents\Tests\demo data\demo data.emx ``` becomes ``` C:\Documents...\demo data.emx ``` It would be particularly cool if this were built into the Label class, and I seem to recall it is--can't find it though!