2014-03-30 5 views
0

내 프로젝트에 form1과 form2가 있습니다. form1은 로그인 페이지입니다. 로깅 후에 form2에 들어갑니다. 나는 또한 username과 password를 가진 form1을위한 데이터베이스 테이블을 만들었고 admin과 user는 2 개의 엔티티와 관련 레코드로 만들었다. 여기서 form2에는 admin 및 users라는 두 개의 버튼이 있습니다. 질문입니다 .. 내가 관리자로 로그인 할 때 form2 enabled.when에있는 모든 버튼을 원할 때만 사용자 버튼을 사용 가능하게하고 관리자를 비활성화 시키길 원합니다. 제발 아무도이 코딩 .. 도와 드릴까요?다음 양식의 단추 비활성화

당신은 Form2를의 생성자를이

form2.Show(IsAdmin); 

같은 show 명령에서 사용자 역할에 대한 참조를 전달하고 받아 들일 수

답변

1

:

public Form2(bool IsAdmin) 
{ 
    InitializeComponent(); 
    if (IsAdmin) ... else ... 
} 

은 또한 좀보고 할 수 있습니다 this 다른 양식에서 하나의 양식을 참조하는 주제에 대해 더 긴 토론.

0

admin1로 form1에서 로그인 한 다음 form2를 열고 form1을 닫습니다. 깃발을 든다.

flag=0; 
If (username==admin && password=="Your Password") 
form2.show() 
this.close() 
flag=1; 
End If 

이제 플래그 2의 값을 확인하십시오. 1이면 관리자로 로그인하고 다른 사용자는 로그인합니다. 그래서,

If form1.flag=1 then 
admin_button.enabled=true 
user_button.enabled=true 
else 
admin_button.enabled=false 
user_button.enabled=true 
End If 
+0

안녕하세요 - 해결책인가, 아니면 오류가 어디인지 파악하려는 시도입니까? 그것이 해결책이라면 이것이 문제를 어떻게 해결하는지 조금 더 설명 할 수 있습니까? –

+0

죄송합니다. 약간의 오류가있었습니다. 코드를 업데이트했습니다. –

1

TaW 말했듯이, Form2의 생성자에서 플래그 매개 변수는 실행해야합니다.

private bool isAdmin; 

    public bool IsAdmin 
    { 
     get 
     { 
      return isAdmin; 
     } 

     set 
     { 
      isAdmin = value; 
      btnAdmin.Enabled = isAdmin; 
     } 
    } 

하고 Form2를 표시하기 전에 형태 1에서 사용 :

또 다른 가능성을 Form2에 속성을 만드는 것입니다. 관리자의 경우 : 일반 사용자의 경우

var f = new Form2 { IsAdmin = true }; 
    f.Show(); 

:

var f = new Form2 { IsAdmin = false }; 
    f.Show(); 

는 도움이되기를 바랍니다.

관련 문제