c# مشاريع عرض المسار في التصنيف




مشاريع الفيجوال بيسك جاهزة (4)

ليس من الصعب كتابة نفسك على الرغم من:

    public static string TrimPath(string path)
    {
        int someArbitaryNumber = 10;
        string directory = Path.GetDirectoryName(path);
        string fileName = Path.GetFileName(path);
        if (directory.Length > someArbitaryNumber)
        {
            return String.Format(@"{0}...\{1}", 
                directory.Substring(0, someArbitaryNumber), fileName);
        }
        else
        {
            return path;
        }
    }

أعتقد أنك يمكن أن تضيف حتى كطريقة التمديد.

هل هناك أي طرق تلقائية لتقليم سلسلة مسار في .NET؟

فمثلا:

C:\Documents and Settings\nick\My Documents\Tests\demo data\demo data.emx

يصبح

C:\Documents...\demo data.emx

سيكون باردا بشكل خاص إذا كان هذا بنيت في فئة التسمية، ويبدو لي أن أذكر أنه - لا يمكن العثور عليه على الرغم من!


@ لوبوس هاسكو الرمز الخاص بك هو 95٪ هناك. والمشكلة الوحيدة هي أن النص المقلص يتم رسمه على أعلى النص الموجود بالفعل على الملصق. هذا حلها بسهولة:

    Label label = (Label)sender;
    using (SolidBrush b = new SolidBrush(label.BackColor))
        e.Graphics.FillRectangle(b, label.ClientRectangle);
    TextRenderer.DrawText(
        e.Graphics, 
        label.Text, 
        label.Font, 
        label.ClientRectangle, 
        label.ForeColor, 
        TextFormatFlags.PathEllipsis);

ما كنت تفكر في التسمية هو أنه سيتم وضع ... إذا كان أطول من العرض (لم يتم تعيين حجم السيارات)، ولكن هذا سيكون

c:\Documents and Settings\nick\My Doc...

إذا كان هناك دعم، فإنه ربما يكون على فئة المسار في System.IO


يمكنك استخدام الأسلوب System.IO.Path.GetFileName وإلحاق تلك السلسلة إلى سلسلة System.IO.Path.GetDirectoryName مختصرة.





path