我有这个:
private void radioButton34_CheckedChanged(object sender, EventArgs e)
{
if (radioButton.Checked == true)
{ //blah}
}
private void radioButton35_CheckedChanged(object sender, EventArgs e)
{
if (radioButton.Checked == true)
{ //blah}
}
但它们是100个按钮(不是开玩笑) 我想用序列中的'radioButtonX.Checked'替换'radioButton.Checked' radioButton.Checked他找到了,其中X从34开始,到100结束
有可能吗? 如果我希望X以20或其他任何数字开始怎么办? (诺布在这里)
答案 0 :(得分:3)
1/1步解决方案
命中替换(⌥⌘F或 ctrl + shift + F (我猜)或Find→Replace...
)。
在激活了RegEx((?<=radioButton)(\d+)(_CheckedChanged(?:\n|.)*?radioButton)
)的情况下搜索.*
。 (见下面有关正则表达式的解释)
并替换为:\1\2\1
正则表达式:
(?<=radioButton)
:字符串以radioButton (\d+)
:后面跟着一堆数字,我们将其存储在\ 1 (_CheckedChanged(?:\n|.)*?radioButton)
:它本身后跟_CheckedChange,任意数量的字符和newLine字符,以及radioButton,它存储在\ 2 2/2步解决方案
更通用的解决方案(不限于2位数字)
启动搜索:( ⌘F或 Ctrl + F 或Find→Find...
)。确保在左侧选择了正则表达式框(.*
)。
搜索:(?<=radioButton)\d+(?=_CheckedChanged)
(?<=radioButton)
:radioButton应位于您搜索的内容之前\d+
是任何数字,但至少有一个(?=_CheckedChanged)
:数字必须跟_CheckedChanged 搜索所有这些。复制结果。将所有光标移动到所需位置,然后粘贴。
如果您有任何疑问: - )
PS:
答案 1 :(得分:2)
这可能是一个愚蠢的回应,但是如果不在其他任何地方使用_CheckedChanged那么它应该可行。
我刚才意识到你说过100.显然,只有X是相同的位数,上述想法才有效。你必须在之后纠正第100个。
肯定有更好的方法,但我认为应该做的工作。 100个单选按钮!?