Avatar billede tubber Juniormester
07. juli 2002 - 13:50 Der er 22 kommentarer og
1 løsning

Låse Chekboxe og Radio buttons

Jeg vil gerne jeg kan lave sådan at hvis jeg trykker på en tom checkbox eller radiobutton at de ikke skifter....

Så det virker lidt som når et textfelt er locked...

kan det lade sig gøre ?
Avatar billede driis Nybegynder
07. juli 2002 - 14:06 #1
Med denne simple stump kode kan du låse checkboxen Check1 ved klik på Command1 - så kan du selv rette det til, så det passer til dit formål:


Dim Check1Val As Integer

Private Sub Check1_Click()
If Not Check1Val < 0 Then Check1.Value = Check1Val

End Sub

Private Sub Command1_Click()
If Check1Val = -1 Then
    Check1Val = 0
Else
    Check1Val = -1
End If
End Sub
Avatar billede tubber Juniormester
07. juli 2002 - 14:10 #2
Jo men hvad så med radiobuttons ? de kører jo med værdien true or false ?
Avatar billede tubber Juniormester
07. juli 2002 - 14:15 #3
Og det du har lavet låser den kun som tomt felt, hvorfor kan man ikke låse det så det er med begge valg muligheder ?

Man må over hovedet ikke kunne ændre på værdien, den bliver sat af et recordset fra en db og den værdi må ikke kunne laves om på....
Avatar billede mikker Nybegynder
07. juli 2002 - 17:28 #4
kan du ikke sætte den som enabled=false?

- Mikker
Avatar billede tubber Juniormester
07. juli 2002 - 17:34 #5
enable false gør at de knapper ikke kan bruges.....
Avatar billede mikker Nybegynder
07. juli 2002 - 17:54 #6
Troede egentlig også det var det der var maningen :-)

- Mikker
Avatar billede tubber Juniormester
07. juli 2002 - 18:15 #7
nej for så kan jeg ikke ændre mellem true og false i koden når jeg henter et recordset......

bruger en må ikke kunne ændre dem med musen :O)
Avatar billede mikker Nybegynder
07. juli 2002 - 18:22 #8
Du gør det ikke nemt for mig :-)

Men jeg knokler på...

- Mikker
Avatar billede mikker Nybegynder
07. juli 2002 - 18:25 #9
Måske en lidt besværlig måde, men du kunne vel lave en textbox med .visible = false, give den en værdi der angiver hvor sej brugeren er.
på den måde burde du kunne lægge det ind i mouseup og dermed styre det???

- Mikker
Avatar billede mikker Nybegynder
07. juli 2002 - 18:34 #10
Dette ser ud til at virke, men det er godt nok noget kringlet :-)

Private Sub Check1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Text2 = Check1.Value
End Sub

Private Sub Check2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Text2 = Check2.Value
End Sub

Private Sub cmdbruger1_Click()
Text1 = "1"
End Sub

Private Sub cmdbruger2_Click()
Text1 = "2"
End Sub

Private Sub Form_Load()
Check1.Value = 1
Check2.Value = 0
Text1 = "1"
Text2 = ""
End Sub
Private Sub Check1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Text1 = "2" Then
    Check1.Value = 1
    Check2.Value = 0
Else
    Check1.Value = Text2
End If

End Sub

Private Sub Check2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Text1 = "2" Then
    Check2.Value = 1
    Check1.Value = 0
Else
    Check2.Value = Text2
End If
End Sub


- Mikker
Avatar billede mikker Nybegynder
07. juli 2002 - 18:36 #11
text1 og text2 er 'usynlige'
cmdbruger1 og cmdbruger2 er commandbuttons der simulerer den bruger der er igang, hvilket vil sige at det burde du kunne skære fra :-)

- Mikker
Avatar billede tubber Juniormester
07. juli 2002 - 18:45 #12
Jeg har løsningen på det med chekboxe men mangler RadioButtons :O/
Avatar billede mikker Nybegynder
07. juli 2002 - 19:10 #13
Det er mig der ikke kan læse... Sorry, troede blot ikke du kunne bruge ovenstående... ÆV! :-)

- Mikker
Avatar billede tubber Juniormester
07. juli 2002 - 19:22 #14
hehe det er ok mikker :O)
jeg kringlede lige det sidste i ovenstående, men jeg har stadig det prob med radiobuttons....
Avatar billede mikker Nybegynder
07. juli 2002 - 19:27 #15
Så prøv den her...
Nu sidder jeg og bliver i tvivl... ARRRGGHGHH !!!!
jeg har lavet noget med optionbuttons, men er det nu også det du mener med  radiobuttons????
Jeg tror jeg er træt !

Anyway her er det:
[...]
Private Sub cmdbruger1_Click()
Text1 = "1"
End Sub

Private Sub cmdbruger2_Click()
Text1 = "2"
End Sub

Private Sub Form_Load()
Option1.Value = True
Option2.Value = False
Text1 = "1"
Text2 = ""
End Sub

Private Sub Option1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Option1.Value = False Then Text2 = 0
If Option1.Value = True Then Text2 = 1
End Sub

Private Sub Option1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Text1 = "2" Then
    Option1.Value = True
    Option2.Value = False
Else
    If Text2 = 0 Then
    Option1.Value = False
    Option2.Value = True
    End If
    If Text2 = 1 Then Option1.Value = True
End If
End Sub

Private Sub Option2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Option2.Value = False Then Text2 = 0
If Option2.Value = True Then Text2 = 1
End Sub

Private Sub Option2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Text1 = "2" Then
    Option2.Value = True
    Option1.Value = False
Else
    If Text2 = 0 Then
    Option2.Value = False
    Option1.Value = True
    End If
    If Text2 = 1 Then Option2.Value = True
End If

End Sub

[...]


- Mikker
Avatar billede tubber Juniormester
07. juli 2002 - 23:18 #16
uuuh glæder mig til at prøve det, men det bliver ikke lige nu, men nok i morgen :O)
Radiobuttons er det som hedder optionbuttons i vb :O)
Avatar billede tubber Juniormester
11. juli 2002 - 11:51 #17
Mikker:
Jeg har siddet og rodet lidt med at kode det om så det passer til min aplikation.....men det virker lidt modsat.....
Trykker jeg på det markerede felt så rykker den over i det tomme, trykker jeg på det tomme så sker der ikke noget......

Kunne man få dig til at kommentere det kode du har lavet og så maile det til mig ?
altså med 'min kommentar til hver enkelt ting, døjer lidt med at gennemskue det.....Jeg vil godt smide flere points i hvis du gidder :O)

min mailaddy er : krog-frandsen@mail1.stofanet.dk

Det kode jeg har lavet :

Dim varOpt1 As Integer
Dim varOpt2 As Integer

Private Sub Form_Load()
optJa.Value = True
optNej.Value = False
varOpt1 = "1"
varOpt2 = ""
End Sub

Private Sub optJa_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If optJa.Value = False Then optJa = 0
If optJa.Value = True Then optJa = 1
End Sub

Private Sub optJa_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If varOpt1 = "2" Then
    optJa.Value = True
  optNejValue = False
Else
    If varOpt2 = 0 Then
    optJa.Value = False
    optNej.Value = True
    End If
    If varOpt2 = 1 Then optJa.Value = True
End If
End Sub

Private Sub optNej_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If optNej.Value = False Then varOpt2 = 0
If optNej.Value = True Then varOpt2 = 1
End Sub

Private Sub optNej_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If varOpt1 = "2" Then
    optNej.Value = True
    optJa.Value = False
Else
    If varOpt2 = 0 Then
    optNej.Value = False
    optJa.Value = True
    End If
    If varOpt2 = 1 Then optNej.Value = True
End If

End Sub

/Tubber
Avatar billede mikker Nybegynder
11. juli 2002 - 17:40 #18
Skal nok kigge på det, men har huset fyldt med gæster :-)
Måske imorgen...
Avatar billede tubber Juniormester
11. juli 2002 - 19:55 #19
Taxi .O)
Avatar billede mikker Nybegynder
12. juli 2002 - 22:17 #20
Dette har jeg sendt til dig...
Jeg er måske ikke den store digter, men jeg håber det gør tingene lidt mere forståelige. Jeg er ked af det tog lidt tid...

Option Explicit
Dim varOpt1 As Integer
Dim varOpt2 As Integer

Private Sub cmdja_Click()
Text1 = "JA"
End Sub

Private Sub cmdnej_Click()
Text1 = "NEJ"
End Sub


' jeg har lagt 1 textbox ind, der hedder TEXT1
' TEXT1 er der for at simulere hvilken bruger der er tale om .
' jeg har også lagt 2 command buttons på: CMDJA og CMDNEJ
' CMDJA betyder selvfølgelig at det er en bruger med administrator rettigheder og omvendt
Private Sub Form_Load()
Text1 = "JA"
Text1.Enabled = False
optja.Value = True
optnej.Value = False
End Sub

Private Sub optJa_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'Her flytter vi musen hen over OPTJA og lægger værdien ind i varopt1
If optja.Value = False Then varOpt1 = 0
If optja.Value = True Then varOpt1 = 1
End Sub

Private Sub optJa_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Text1 = "JA" Then ' hvis brugeren må rette
    optja.Value = True 'så skal vi selvfølgelig ændre
    optnej.Value = False ' begge optionbuttons
Else
    If varOpt1 = 0 Then 'denne bruger må ikke rette, så den
    optja.Value = False ' skal selvfølgelig have den samme værdi igen
    optnej.Value = True
    End If
    If varOpt1 = 1 Then optja.Value = True
End If
End Sub

Private Sub optNej_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Text1 = "JA" Then
    optnej.Value = True
    optja.Value = False
Else
    If varOpt2 = 0 Then
    optnej.Value = False
    optja.Value = True
    End If
    If varOpt2 = 1 Then optnej.Value = True
End If

End Sub

Private Sub optNej_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If optnej.Value = False Then varOpt2 = 0
If optnej.Value = True Then varOpt2 = 1
End Sub
Avatar billede tubber Juniormester
17. juli 2002 - 10:09 #21
Jeg er lige på ferie så  jeg har først den gode tid når jeg kommer hjem men i  er ikke glemt

/Tubber
Avatar billede tubber Juniormester
10. september 2002 - 07:42 #22
Hejsa der :O)

Undskylder lige for den tid det har taget, men har som sagt været på ferie og da man kommer hjem er bundkortet på puteren brændt af så er først med igen nu :O)

Og mange tak for hjælpen mikker :O)

/Tubber
Avatar billede mikker Nybegynder
10. september 2002 - 15:36 #23
Det var mig en udsøgt fornøjelse :-)

- mikker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester