2015-02-14 5 views
0

Вот что я пытаюсь сделать. У меня есть ярлык с именем «lblWelcome» и кнопка с именем «btnTextColor». То, что я хочу, чтобы кнопка делала, - это изменение меток forecolor при каждом нажатии кнопки. Каждый раз, когда нажимается кнопка, forecolor этикетки будет меняться на разных цветов, чем раньше. Это то, что я хочу.Создание кнопки, которая меняет ярлык ForeColor при каждом нажатии

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

Private Sub btnTextColor_Click(sender As Object, e As EventArgs) Handles btnTextColor.Click 
    lblWelcome.ForeColor = Color.Red 
    lblWelcome.ForeColor = Color.Blue 
    lblWelcome.ForeColor = Color.Black 

End Sub 

С приведенным выше кодом, когда я запускаю программу, кнопка меняет метки forecolor на черный. Он просто следует за последней строкой кода. Итак, я пошел в интернет, искал решение, немного кода, который мне здесь не хватает. Я нашел что-то под названием «строка», но это не было связано с forecolor, и я не был уверен, что думать или делать. Я просто застрял, мне нужно знать, что добавить, чтобы эта кнопка работала так, как я предполагал. Но самое важное Важно, я хочу знать, как работает решение, которое я нахожу. Например, когда кто-то говорит мне, что мне вводить, я исправлю свою кнопку, но я не понял значения того, что я набрал. Я хочу учиться. Поэтому, пожалуйста, объясните это немного, когда вы ответите на это. Просто немного, вот и все, о чем я прошу. Какую команду я ищу? Как его использовать? Что оно делает?

ответ

2

Это должно сработать для вас.

Private Sub btnTextColor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTextColor.Click 
    Static m_Rnd As New Random 
    lblWelcome.ForeColor = Color.FromArgb(255, m_Rnd.Next(0, 255), m_Rnd.Next(0, 255), m_Rnd.Next(0, 255)) 
End Sub 
+0

Можете ли вы сказать мне, что делает "Static"? И m_Rnd? И Color.FromArgb? Я хочу знать, что я делаю, поэтому я могу использовать их снова, если нужно. – Ryan

+0

Из MSDN - [Статический] (https://msdn.microsoft.com/en-us/library/z2cty7t8.aspx), [Color.FromArgb] (https://msdn.microsoft.com/en-us/ library/cce5h557% 28v = vs.110% 29.aspx), 'm_Rnd' - это просто переменная. Не пытайтесь быть грубым вообще, но у MSDN есть все ответы, которые вам нужны. –

+0

Что касается генератора случайных чисел, объявленного как Static, см. Второй ответ [здесь] (http://stackoverflow.com/questions/18676/random-int-in-vb-net). –

-2
Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click 
    Dim mybrush = Brushes.Black 
    Dim cDialog As New ColorDialog() 
    cDialog.Color = Label1.BackColor ' initial selection is current color. 

    If (cDialog.ShowDialog() = DialogResult.OK) Then 
     Label1.BackColor = cDialog.Color ' update with user selected color. 
    End If 


End Sub 

надеюсь, что это помогает в качестве второго варианта

+0

Это делает то же самое, что и другое предложение? Изменяет цвет меток на случайный цвет? Я не понимаю, почему два разных кода будут делать то же самое. Если кто-то хочет точно объяснить, что эти коды делают шаг за шагом, я был бы очень признателен. Я стараюсь как можно больше учиться. Таким образом, я могу ввести свой собственный код, и поэтому я могу отвечать на вопросы другим, показывая им, что делать. Я не знаю, что делает Dim, что означает mybrush, что делает Brushes.Black, что означает ColorDialog(), или что делает New. И я пытаюсь учиться. В MSDN определения все еще сложны. – Ryan

+0

он делает то же самое, но вы можете видеть, что все видят цветную диаграмму, прежде чем вы выбираете цвет, бегите, чтобы убедиться сами. So.keyword '' 'dim' 'сообщает компьютеру, что вы собираетесь объявить 'a' variable ',, переменная является частью хранилища в компьютере, где вы будете хранить значение, в этом случае переменная называется моей кистью .... вы можете вызвать переменную, что угодно, и хотите, вместо этого вы создаете переменную имя, которое имеет смысл, поэтому вы пишете, dim mybrush = brushes.black ..brushes .black предопределен. http: //www.vbtutor.net/vb2008book/vb2008me_preview.pdf –

+0

Большое вам спасибо за это Барри. Я ценю это. :) У меня есть другой вопрос, если вы хотите отдать его. http://stackoverflow.com/questions/28551160/how-to-create-a-custom-button-specifically-the-exact-button-from-facebook-sign – Ryan

Смежные вопросы