Невозможно изменить текст метки! - PullRequest
1 голос
/ 18 июня 2010

Я создал собственный элемент управления и добавил к нему свойство метки, чтобы во время разработки мы могли выбрать метку и назначить ее этому элементу управления. так что в основном я хочу, чтобы, если метка была назначена этому элементу управления, ее текст должен был измениться, как показано ниже, а также текст должен измениться на жирный шрифт, так вот этот код:

private Label assignedLabel;
public Label AssignedLabel
{
    get
    {
        return assignedLabel;
    }
    set
    {
        assignedLabel = value;
        assignedLabel.Text = @"*" + assignedLabel.Text; 
        assignedLabel.Font = new Font(AssignedLabel.Font, FontStyle.Bold);
        AssignedLabel.Refresh();
    }
}

проблема в том, что на основе кода выше шрифт этой назначенной метки корректно меняется на шрифт полужирный, но его текст не влияет. почему это происходит? как я могу решить эту проблему?

Ответы [ 3 ]

1 голос
/ 18 июня 2010

Я не думаю, что вы можете сделать это, если это не установлено в подпрограмме InitializeComponent () для элемента управления.

Собственно, установлен ли шрифт по умолчанию перед его изменением?

0 голосов
/ 18 июня 2010

Ммм! код только начал работать! Существует небольшая проблема, заключающаяся в добавлении «*» при каждом запуске формы, но это должно быть легко исправить. любые другие хорошие способы достижения этой цели приветствуются :) спасибо всем.

0 голосов
/ 18 июня 2010

Похоже, вам следует изучить DataBinding.Это идеально подходит для обработки внутренних элементов обновления метки на основе состояния другого элемента управления.

Например, если у вас есть два элемента управления, TextBox (textBox1) и Label (label1), вы можете вызватьстрока кода всякий раз, когда вы хотите связать их:

label1.DataBindings.Add("Text", textBox1, "Text");

Это связывает свойство «Text» label1 со свойством «Text» объекта textBox1.Вы можете использовать любой объект здесь.«Правильный» способ сделать это - создать базовый источник данных, который содержит текущее состояние многих переменных, и связать все элементы управления с этим источником данных.Но этот тип кода поможет вам быстро.

...