2015-08-09 4 views
0

Меня зовут Дэнни. Я только начинаю узнавать о кодировании для развлечения и использования VB 2010. Я хочу написать приложение, которое, когда мы вводим значение RGB от 0 до 255 в каждом поле (R, G, B) и нажимаем «цвет дисплея», , Фон моего приложения изменится на тот цвет RGB. Я уже добрался до основного, но я не смог закончить все остальное. Вот что я хочу: 1. Когда мы оставляем один из ящиков пустым, появится окно с сообщением: «Пожалуйста ...!» 2. Когда мы вводим значение < 0 или> 255 в каждом поле, отобразится окно сообщения.RGB Me.BackColor Простые приложения

Вот что я получил до сих пор:

Public Class RGB 
Dim r1 As Integer 
Dim g1 As Integer 
Dim b1 As Integer 

'Display Color Button' 
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dis.Click 
    r1 = r.Text 
    g1 = g.Text 
    b1 = b.Text 
    Me.BackColor = Color.FromArgb(r1, g1, b1) 

    Convert.ToInt32(r.Text) 
    Convert.ToInt32(g.Text) 
    Convert.ToInt32(b.Text) 
    If r.Text Or g.Text Or b.Text = "" Then 
     MessageBox.Show("Please Input The Value!") 
    Else : Me.BackColor = Color.FromArgb(r1, g1, b1) 
    End If 

    If r.Text Or g.Text Or b.Text < 0 or > 255Then 
     MessageBox.Show("Please Enter Value Between 0 and 255") 
    Else : Me.BackColor = Color.FromArgb(r1, g1, b1) 
    End If 
End Sub 

'Exit App Confirmation' 
Private Sub Form_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing 
    Dim response As MsgBoxResult 
    response = MsgBox("Do you want to close?", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "Confirm") 
    If response = MsgBoxResult.Yes Then 
     Me.Dispose() 
    ElseIf response = MsgBoxResult.No Then 
     e.Cancel = True 
     Exit Sub 
    End If 
End Sub 

End Class

Спасибо!

ответ

0

Вот маленький пример для Java-апплета, как вы не указали, который Languaje:

if(values are correct){ 
      try{ 
       paint whatever you need 
      } 
      catch(Exception e){ 
       JOptionPane.showMessageDialog(this,e.getMessage()); 
      } 
     } 
    else JOptionPane.showMessageDialog(this,"Hello you misstiped the values"); 
0

Ваши оценки немного прочь. Попытайтесь использовать это:

'replace your evals with this: 
If IsValid(r.text) And IsValid(r.text) And IsValid(r.text) Then 
     Me.BackColor = Color.FromArgb(CInt(r.text), CInt(g.text), CInt(b.text)) 
Else 
     'your generic errror message 
End If 

Private Function IsValid(ByVal val As String) As Boolean 
    Dim bRet As Boolean = False 
    If Not String.IsNullOrEmpty(val) Then 
     If IsNumeric(val) Then 
      If CInt(val) >= 0 And CInt(val) <= 255 Then 
       bRet = True 

      End If 
     End If 
    End If 

    Return bRet 
End Function 
+0

Но если 'r.text' является« строкой », можете ли вы действительно сравнить его с менее чем оператором? Я действительно смущен тем, что писал «Convert.ToInt32 (r.Text)», но * NOT * сохранял возвращаемое значение в любой переменной. –

+0

.net прощает. он будет неявно преобразовывать значение для его сравнения. Если вы хотите, чтобы он был более явным, вы могли бы обернуть r.text следующим образом: cint (r.text), но вы можете проверить, что это число перед использованием isnum (r.text). Если вам нравится, я могу отредактировать ответ, чтобы оптимизировать всю процедуру проверки – NINtender

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

  • Нет связанных вопросов^_^