VB2013 - RadioButtonları indisli olarak nasıl kullanabilirim ?

A_day

Öğrenci
Katılım
4 Şubat 2014
Mesajlar
41
Reaksiyon puanı
0
Puanları
6
Formumda 12 tane RadioButton kullandım.


Bunlardan biri seçili iken, diğerlerinin pasif görünmelerini istiyorum.


Bunun için aşağıdakine benzer bir mantık kullanmak istedim. Ancak RadioButtonları bir türlü indisli tanımlayamadım. Araştırdım ama internette de bulamadım.
Kod:
    Private Sub RadioButtonKontrolu()


        For j = 1 To 12
            If RadioButton(j).checked = True Then
                RadioButton(j).Enabled = True
            Else
                RadioButton(j).Enabled = False
            End If
        Next


    End Sub
 

eSa

Dekan
Katılım
5 Kasım 2011
Mesajlar
9,781
Reaksiyon puanı
352
Puanları
263
Eğer biri seçili iken diğerleri pasif olursa, diğerlerini hiç bir zaman seçemezsin. Tekerleme gibi oldu :)
 

Sansar667

Müdavim
Müdavim
Katılım
19 Ekim 2012
Mesajlar
2,428
Reaksiyon puanı
526
Puanları
293
ne gerek var buttonlara koy bir combo box bitsin :P hem daha az yer kaplar :D
 

A_day

Öğrenci
Katılım
4 Şubat 2014
Mesajlar
41
Reaksiyon puanı
0
Puanları
6
Eğer biri seçili iken diğerleri pasif olursa, diğerlerini hiç bir zaman seçemezsin. Tekerleme gibi oldu :)

Zaten öyle olması gerekiyor. Bu bir checklist programı olacak. 12 Checklistten biri seçilecek ve o checklist bitene kadar diğerlerinin pasif olmasını istiyorum.
 

eSa

Dekan
Katılım
5 Kasım 2011
Mesajlar
9,781
Reaksiyon puanı
352
Puanları
263
Grupları ayrı frame içine al. Frame i enable/disable yaparsın.
 

A_day

Öğrenci
Katılım
4 Şubat 2014
Mesajlar
41
Reaksiyon puanı
0
Puanları
6
ne gerek var buttonlara koy bir combo box bitsin :P hem daha az yer kaplar :D

Combobox'la da yapılabilir ancak ben görsel olarak böyle olmasını arzu ettim. :))

- - - Mesaj Güncellendi - - -


Formum böyle bir şey..


A06Dqr.png
[/URL][/IMG]
 

eSa

Dekan
Katılım
5 Kasım 2011
Mesajlar
9,781
Reaksiyon puanı
352
Puanları
263
Seçili olanı koyu ve farklı renk yap olsun bitsin.
 

A_day

Öğrenci
Katılım
4 Şubat 2014
Mesajlar
41
Reaksiyon puanı
0
Puanları
6
Seçili olanı koyu ve farklı renk yap olsun bitsin.

Üstadım ben zaten aşağıdaki kodla bu söylediğinizi yapabiliyorum. Ancak bunlardan 12 tane altalta yazıp kodları şişirmek yerine for- next'le bu işi çözmeyi düşündüm. For - next için de bu butonları indekli tanımlayabilmem lazım.

Sizlerden ricam bu konuda bir çözüm önermeniz...
Kod:
        If RadioButton1.Checked = True Then
            RadioButton2.Enabled = False
            RadioButton3.Enabled = False
            RadioButton4.Enabled = False
            RadioButton5.Enabled = False
            RadioButton6.Enabled = False
            RadioButton7.Enabled = False
            RadioButton8.Enabled = False
            RadioButton9.Enabled = False
            RadioButton10.Enabled = False
            RadioButton11.Enabled = False
            RadioButton12.Enabled = False
        End If
 

eSa

Dekan
Katılım
5 Kasım 2011
Mesajlar
9,781
Reaksiyon puanı
352
Puanları
263
.net bilmiyorum ancak bunu uyarlayabilirsen index kullanmana gerek kalmadan form üzerindeki tüm optionbuttonları kontrol edebilirsin.

.net bilmiyorum ancak bunu uyarlayabilirsen index kullanmana gerek kalmadan form üzerindeki tüm optionbuttonları kontrol edebilirsin.

Kod:
Dim x As Control

For Each x In Me.Controls
    If TypeOf x Is OptionButton Then x.Enabled=x.Value
Next x
 

A_day

Öğrenci
Katılım
4 Şubat 2014
Mesajlar
41
Reaksiyon puanı
0
Puanları
6
İlginize teşekkür ediyorum. Sanırım radiobutonlarda indis kullanma şansımız yokmuş. Onun yerine işimi görecek aşağıdaki kodları verdi bir arkadaşım. Tüm radiobutonların bir grupbox içine alınması şartıyla aşağıdaki kod tam da istediklerimi yapıyor. Hangi radiobutonu seçersem seçeyim, diğerlerini pasif yapıyor. Başka arkadaşlarında işine yarar belki diye paylaşıyorum...

Kod:
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        Dim radioB As RadioButton = Nothing

        For Each xObject As Object In Me.GroupBox1.Controls
            If TypeOf xObject Is RadioButton Then
                radioB = xObject

                If radioB.Checked = False Then
                    radioB.Enabled = False
                End If

            End If
        Next

    End Sub
 
Üst