العلاقة بين الطول وحجم الخط من سلسلة وعرض مربع النص

StackOverflow https://stackoverflow.com/questions/1453327

سؤال

لدي حقل في قاعدة بيانات، يحتوي هذا الحقل على أقصى طول، وأريد تعيين مربع نص إلى العرض المناسب. أخلق مربع النص في وقت التشغيل. كيف يمكنني حساب قيمة خاصية العرض؟

على سبيل المثال، إذا كان لدي حقل NVARCHAR (5) اسمه IDCLIENT، وحجم الخط هو 13، أريد إنشاء مربع Texbox مع عرض يكفي لكتابة 5 حرفا.

هل كانت مفيدة؟

المحلول

ربما يجب أن تستخدم Textrenderer.measuretext (سلسلة، خط).

هنا عينة صغيرة يجب أن تساعدك

        //Get this value from somewhere...
        TextBox textBox = new TextBox();
        int maxWidth = 10;
        int extraSpace = 3;

        //Create sample string
        StringBuilder sb = new StringBuilder(maxWidth);
        sb.Append('w', maxWidth);

        //Measure text 
        Size size = TextRenderer.MeasureText(sb.ToString(), textBox.Font);

        //Set width of TextBox to needed width
        textBox.Width = size.Width + extraSpace;

نصائح أخرى

حدد

نوع الإدخال = "النص" الحجم = "5" العرض = 'W' ........>

يمكنك حساب W = Num_Chcharacters * ك. حيث k هو ثابت. أولا حافظ على K = 15. ثم قم بالضرب والمحاكمة حتى تجد أفضل نوبة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top