Est-ce que c'est possible de rendre un RadioButton en ReadOnly ?
Est-ce que c'est possible de rendre un RadioButton en ReadOnly ?
Salut .
je vois pas l'interet de mettre un radioButton en ReadOnly ...
Sinon non il n'y a pas moyens simplement de mettre en readOnly
bien ce serai pas radioButton1.Enabled = false;
J'ai dois afficher l'état de plusieurs relais sur des cartes [ON/OFF]. Dans certains cas, l'état doit seulement être affiché et dans d'autre cas il peut-être modifié. Donc je me suis dit que le RadioButton serait le meilleur outils ?
la vous desactiver totalement le radiobutton, vous ne le passez pas en readOnly .... aucun messages ne sera acheminé ou autre , ce n'est peut etre pas ce qu'il veut.Envoyé par neguib
le post n'y été pas quand j'ai écrit le miens ...Envoyé par neguib
, votre méthode est ok
Non parce que de toute manière le fait qu'il soit Disabled le rend pas très lisible pour l'utilisateur. Par ailleurs j'ai un background thread qui exécute des lectures sur le port série à chaque secondes et met à jours ces radio button. Et par conséquent je dois pouvoir mettre à jour ces valeurs par programmation. Et dans certain cas on doit pouvoir les modifier via l'interface.
Vous avez une autre idée ?
le fait de le mettre enable ou non ce fait par programmation aussi ... pas seulement par le designer .Envoyé par Erakis
Pour ton pb de lisibilité je sais pas, as tu essayé de changer les couleurs ?
Peu importe les couleurs qu'on attribut au RadioButton, en mode DISABLED il devient GRISÂTRE ainsi que son étiquette aussi, ce qui le rend difficile à lire pour l'utilisateur. Bref, je vais tenter de trouver control ou autre chose de plus pratique.Envoyé par dev01
sinon met un label pour dir quelle choi il a été fait ...
C'est pas fou !
Je vais utiliser cette option là, du fait que c'est vraiment urgent.
Merci à tous
Dans ce cas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 public class CustomRadioButton : RadioButton { private bool IsReadOnly; public bool ReadOnly { get{ return this.IsReadOnly;} set{this.IsReadOnly=value;} } protected override void OnCheckedChanged(EventArgs e) { if(!(this.ReadOnly)) { base.OnCheckedChanged(e);} } }
Nice shot !
Un GROS merci neguib.
Je viens de tester cette méthode mais cela ne fonctionne pas. Lorsqu'on clique sur le composant il change encore d'état quand même.Envoyé par neguib
Toutes mes excuses, je n'avais pas pris le temps de tester hier et en fait Ceci devrait suffire :
Puis dans la Form
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public class CustomRadioButton : RadioButton { public CustomRadioButton():base() { this.AutoCheck=false;} public bool ReadOnly { get{ return this.IsReadOnly;} set{this.IsReadOnly=value;} } private bool IsReadOnly; }
Cette fois j'ai testé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 private void InitializeComponent() { //... this.customRadioButton1.Click += new System.EventHandler(this.customRBClick); //... } //... private void customRBClick(object sender, System.EventArgs e) { CustomRadioButton rb = (CustomRadioButton) sender; bool state = rb.Checked; if(!rb.ReadOnly) { rb.Checked = !state;} }![]()
Partager