2012-09-23 8 views
1

그래서 양식에 9 개의 단추가 있으며 단추를 누르면 9 개의 단추 중 하나를 선택하고 텍스트를 "임의"로 변경하려고합니다. Visual Basic 2008/2010에서 어떻게 할 수 있습니까?Visual Basic에서 무작위 단추 선택

나는 그래서 그냥 C#으로 이런 짓을,

For Each buttons In Panel1.Controls 
     If TypeName(buttons) = "Button" Then 
       //select a random button and change his text to "random" 
      End If 
Next buttons 

답변

1
var buttons = from controls in this.Controls.OfType<Button>() select controls; 

buttons.ElementAt(new Random().Next(buttons.Count())).Text = "random"; 

내가 VB를 사용하지 않은처럼 뭔가 생각했다. VB에서 동일하거나 매우 유사 할 수 있습니다.

편집 : 귀하의 의견은 다음과 같은 것을 시도에 응답하려면 :

var buttons = (from controls in this.Controls.OfType<Button>() where !controls.Text.Equals("random") select controls); 

if (buttons.Count() > 0) 
{ 
    buttons.ElementAt(new Random().Next(buttons.Count())).Text = "random"; 
} 
+0

감사합니다! Visual Basic에서 코드를 구현하면 작동합니다. 그러나 무작위 단추가 동일한 경우에는 어떨까요? 버튼에 이미 "임의"텍스트가있는 경우 다른 버튼을 검색하고 텍스트를 "새로운 무작위"로 변경하려고합니다. – TGeorge

+0

내 대답을 편집했습니다. –

+0

Thx는 훌륭하게 작동합니다. ! – TGeorge