If you are using C# winForms:
regarding using only numbers, I'd use a "Numeric Up-down" control because it also gives you the option of floating point numbers without the hassel of key checking and events and all those stuff and does all the background check-for you.
Therefore I'd go with:
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
if ((numericUpDown1.Value > 0) && //or some verification on your input variable
((radioButton1.Checked) || (radioButton2.Checked)))
{
button1.Enabled = true;
}
else
{
button1.Enabled = false;
}
}
By the way I am not sure why are using the radio buttons, if you want your user to choose one of the two options and you want to enable the button regardless of which radio button is being checked, I would use a combo-box and would enable the button based on my textbox (or numeric up/down) and just use the comboBox.SelectedIndex as the option.
After Edit:
Then, please have a look at this thread for numbers only in a text box:How do I make a textbox that only accepts numbers?