2011-03-25 6 views
0

타이머가 1 초 틱 올라가지만 진행할 수 없으므로 진행률 표시 줄이 한 단계 씩 진행 되기만하면됩니다. 도와주세요.winforms의 진행률 표시 줄 사용

타이머의 틱 이벤트에서 i 변수를 사용하고 i를 1 씩 증가시켜야합니다. 및 write : progressBar1.Increment (i) --i이 시도하고 작동했습니다. 그 단지 만에 붙어, 여기에 1 초 통과

public partial class Form1 : Form 
{ 
    Timer t = new Timer(); 

    public Form1() 
    { 
     InitializeComponent(); 

    } 

    private void Form1_Load(object sender, EventArgs e) 
    { 
     t.Interval = 1000; 
     t.Enabled = true; 
     t.Tick += new EventHandler(t_Tick); 
    } 
    void t_Tick(object sender, EventArgs e) 
    { 
     progressBar1.Increment(1); 
    } 

으로, 틱 이벤트가 발생하고 진행 막대가 1 씩 증가해야하지만, :

하지만 왜 다음 코드를 사용하여 작동하지 않습니다 단일 증분, 즉 1 씩 진행하고 중지합니다.

+3

먼저 Handler를 추가하고 enabled = true로 설정하는 것이 좋습니다. –

+2

시도해 보았고 코드가 작동했습니다. 진행률 막대의 최소값과 최대 값은 무엇입니까? – Marijn

+0

min = 0; max = 100 – sqlchild

답변

2

It should work. 이벤트 처리기를 할당 한 후 타이머를 활성화 해보십시오.

private void Form1_Load(object sender, EventArgs e) 
{ 
    t.Interval = 1000; 
    t.Tick += new EventHandler(t_Tick); 
    t.Enabled = true; 
} 
+0

선생님,이게 어떻게 작동하는지, 제발 Tick 행사가 언제 해고 됐는지 알 수 있습니까? t.Enabled가 true로 설정되거나 다른 경우? – sqlchild

+0

타이머가 이벤트 처리기보다 먼저 활성화되었을 때 왜 작동하지 않습니까? – sqlchild

+0

또한 예를 들어 간단한 언어로 maximun 및 minimum 속성에 대해 알려주시겠습니까? – sqlchild

-1

누락 된 타이머 시작, 아래 코드는 작동한다고 가정합니다.

public partial class Form1 : Form 
{ 
    Timer t = new Timer(); 

    public Form1() 
    { 
     InitializeComponent(); 

    } 

    private void Form1_Load(object sender, EventArgs e) 
    { 
     t.Interval = 1000; 
     t.Tick += new EventHandler(t_Tick); 
     // enable timer after the handler attached 
     t.Enabled = true; 
     // Start the timer. 
     t.Start(); 
    } 
    void t_Tick(object sender, EventArgs e) 
    { 
     progressBar1.Increment(1); 
    } 
+0

-1 : [true로 설정하고 Start를 호출하는 것은 동일합니다] (http://msdn.microsoft.com/en-us/library/system.windows.forms.timer.enabled.aspx). –

+0

네, 맞습니다! – Kumar

0

코드가 제대로 작동하고 있습니다. 문제는 진행 막대의 최대 값이 너무 높아서 진행 막대 값이 다음 블록을 표시 할만큼 충분히 오래 걸리는 것입니다.

최대 값을 100으로 설정하면 코드가 올바르게 작동하는지 확인해야합니다.