У меня есть приложение, которое будет использоваться в системе с сенсорным экраном, и он содержит несколько кнопок, которые довольно большие (квадрат ~ 100 пикселей).
Каждая кнопка будет иметь от 1 до 4 строк текста (обычно по одному слову в строке).
Из-за большого количества отступов в кнопку, мне нужно уменьшить размер текста, чтобы он стал почти нечитаемым, однако, если бы я смог уменьшить внутреннее заполнение так, чтобы текст рисовал прямо до границы, у меня не было бы проблема.
Я попытался уменьшить заполнение элемента управления до нуля следующим образом, но это не помогло.
this.Text = _label;
this.Font = new Font(this.Font.FontFamily, (float) _size);
this.Padding = new Padding(0);
Пример проблемы показан ниже:
Как вы можете видеть, это достаточно места для слова «ОБЗОР», чтобы поместиться в одну строку, но как я могу добиться этого, не уменьшая размер шрифта? Мне не нравится мысль о необходимости переписывать код рисования текста элемента управления.
Редактировать: Я заметил, что увеличение заполнения до различных значений, вплоть до 300, не влияет на внутреннее заполнение элемента управления. Также для информации, кнопка, которую я использую, является элементом управления, унаследованным от класса Windows.Forms.Button, так как мне нужно добавить несколько свойств, однако я не вмешивался ни в один из собственных методов Button.