2015-06-05 2 views
0

Я создаю лабораторное приложение в VS2013, где пользователь вводит номер стойки, и возвращает визуальную сетку, для которой он/она должен взвесить для определенного анализа, для это конкретная стойка с образцами.Изменение цвета раковинки в обратном порядке с появлением кнопки

Я получаю информацию из базы данных Oracle на основе запрошенной/отправляемой строки SQL.

Я создал радиокнопки в качестве средства выбора/фильтрации типа анализа. Я дал им появление обычных кнопок в свойствах объекта.

При нажатии определенных переключателей я хочу дать им определенный цвет, в зависимости от типа анализа. Тот же цвет будет использоваться для маркировки образцов, которые должны быть взвешены в визуальной сетке.

Когда я тестирую программу, переключатели выполняют то, что им нужно (что означает: получение правильной информации из базы данных Oracle), но я не могу управлять изменением цвета кнопок. Изменение цвета обычных кнопок (на визуальной сетке) выполняется корректно.

я вызвать функцию за все это, по функциям Rbanalysistype (отправителем как объект, е, как EventArgs) Ручки Rbanalysistype1 .click, Rbanalysistype2 .click, ...

Public Function RbAnaTypeClick(sender As Object, e As EventArgs) Handles RbAnaTypeAcIn.CheckedChanged 
    Dim SenderName As String = "" 
    Dim TitrType As String = "" 

    SenderName = CType(sender, RadioButton).Name 

    Select Case SenderName 

     Case Is = "RbAnaTypeAcIn" 
      TitrType = "AcIn" 

      'put correct Radiobuttion in GbAnaType in color 
      If RbAnaTypeAcIn.Checked = True Then 
       RbAnaTypeAcIn.BackColor = Color.Orange 
      End If 

    End Select 

End Function 
+0

так плохо просто идти вперед и сказать, что, я уверен, что среди миллионов пользователей на переполнение стека, есть по крайней мере один, кто знает, что вы говорите по сердце. но большинство из нас просто пытаются помочь, даже если мы не знакомы с тем, что вы делаете конкретно, и действительно можете помочь вам с кодом, если мы действительно его увидим. но если вы собираетесь просто написать блок текста без фрагментов, чтобы поддержать его, мы действительно не так много можем сделать. и, как вы можете видеть, 7 человек читают ваш вопрос, но только я прокомментировал. Угадай почему. – Banana

+0

Банан, я новичок на этом сайте и еще не полностью привык к тому, как публиковать вопрос. Я могу понять, что вы говорите и почему, но позвольте мне быть тупым: есть другие способы сказать, что вы говорите. – Dimitri

+0

Как указано в моем профиле, я химик занимаюсь программированием в нашей лаборатории. У меня есть только небольшой опыт программирования, и поэтому мне немного сложнее узнать, как правильно формулировать мои вопросы. – Dimitri

ответ

1

Вы обработка неправильного события для начала. Вот такие вещи вы должны делать:

Private Sub RadioButtons_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton1.CheckedChanged, 
                        RadioButton2.CheckedChanged 
    Dim rb = DirectCast(sender, RadioButton) 

    If rb.Checked Then 
     rb.BackColor = Color.Red 
    Else 
     rb.BackColor = Color.Green 
    End If 
End Sub 
+0

Спасибо. сначала это не сработало. Но после некоторого дальнейшего копания я нашел в другом разделе кода, что Flatstyle из Radiobutton был установлен на «System» вместо «Standard». С свойством «Система» вы не можете изменить обратную цветность. Теперь я установил его на «Стандарт», и он отлично работает. – Dimitri

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