2011-05-16 3 views
0

좋아, 내가 선택 ....이 논리 흐름을 구현하는 방법은 무엇입니까?

[텍스트 필드에 A] [텍스트 필드에 B] [텍스트 필드의 C]

하고 확인을 사용자에 대한 3 텍스트 필드가 여기에 이야기 ...

입니다 버튼을 클릭하면 사용자가 세 개의 텍스트 필드를 추가 한 후 사용자가 확인 버튼을 클릭해야합니다 .... 다른 선택 순서에 따라 결과는 달라집니다. 예 : A> B> C, 빨간. 사용자가 다음 순서로 선택하는 경우 : B> A> C 녹색으로 표시됩니다. 사용자가 순서대로 선택하면 : C> B> AI가 푸른 색을 보여줍니다 ....

다른 사용자 선택 순서에 따라

, 그것은 다른 색상을 보여줍니다 .... 그러나 문제는, 점점 더 많은 텍스트 필드를 추가 할 때이 논리를 어떻게 구현할 수 있습니까? 먼저 사용자가 하나의 텍스트 필드를 선택할 때 배열을 갖도록 디자인하고, 사용자가 두 번째를 선택하면 배열에 텍스트 필드 ID를 저장하고, 사용자가 확인을 클릭 할 때까지 배열에 저장하고 배열을 다시 읽습니다. 색깔을 표시하려면 .... 하지만 더 많은 텍스트 필드가 추가 될 때 더 커지려고 & 지저분해질 것이라고 생각합니다. 더 좋은 아이디어가 있습니까? 고맙습니다.

+0

n 요소의 n! = n * (n-1) * ... * 1 순열이 있기 때문에 일종의 질문입니다. 이것은 n = 4에 대해 24 개의 순열을 가질 것이며 n = 5 120에 대해 ... – ascanio

답변

2

해킹이 약간 있지만, 내가 할 일은 매번 (빈 문자열부터 시작하여) 오른쪽 끝에있는 x 문자로 트리밍하는 문자열에 선택 사항을 저장하는 것입니다. 그런 다음 간단한 switch/case 문을 사용하여 색상을 결정할 수 있습니다. 예를 들어, (C# 조각, 일종의) :

string selectStr = string.Empty; 

void Select(string btn) { 
    selectStr += btn; 
    selectStr = selectStr.Remove(0, btn.Length - 3); 
} 

void Confirm() { 
    switch (selectStr) { 
    case "ABC" : /* make red */ break; 
    case "BAC" : /* make green */ break; 
    // etc. 
    } 
} 
관련 문제