0

私はライブラリを使用していdotnetbarます。設計時に1つのウィザードページを追加し、実行時にいくつかのウィザードページを追加し、ユーザーがウィザードの最後に到達した後に最後のページを追加し、コマンドを使用して新しく(最後に)作成されたページに自動的に切り替えましたウィザードページ。次のコードを使用して、現在選択されているページ以外の他のウィザード ページを削除しました。

Dim wiz As New DevComponents.DotNetBar.WizardPage 'pages
    With wiz
        .InteriorPage = True
        .Name = "Summary"
        .PageTitle = "Summary"
        .PageDescription = "Details of the Summary."
        .Controls.Add(lbl1)
        .Controls.Add(lbl2)
        .Controls.Add(lbl3)
        .Controls.Add(lbl4)
        .Controls.Add(lbl5)
        .Controls.Add(lbl6)
        .Controls.Add(gp)
    End With
    CBTWizard.WizardPages.Add(wiz)
    CBTWizard.Refresh()

    CBTWizard.SelectedPage = wiz

    Dim c1 As Control
    Dim c2 As Control
    For Each c1 In CBTWizard.Controls
        If TypeOf c1 Is DevComponents.DotNetBar.WizardPage Then
            If c1.Name <> "Summary" Then
                CBTWizard.WizardPages.Remove(c1)
            End If
        End If
        CBTWizard.Refresh()
    Next

問題: ウィザードを再配置して、ボタンが表示されないようにしたいのですがBack、ウィザードの更新のようなもので、残っているウィザード ページが 1 つしかないことを示します。

4

1 に答える 1

0

回避策として、順序を並べ替える代わりに、戻るボタン、次へボタンを無敵にし、完了ボタンを無効にしました。ロジックフローはそのように機能しました。

 With wiz
        .InteriorPage = True
        .Name = "Summary"
        .PageTitle = "Summary"
        .PageDescription = "Details of Summary."
        .Controls.Add(lbl1)
        .Controls.Add(lbl2)
        .Controls.Add(lbl3)
        .Controls.Add(lbl4)
        .Controls.Add(lbl5)
        .Controls.Add(lbl6)
        .Controls.Add(gp)
        .FinishButtonEnabled = DevComponents.DotNetBar.eWizardButtonState.False
        .BackButtonVisible = DevComponents.DotNetBar.eWizardButtonState.False
        .NextButtonVisible = DevComponents.DotNetBar.eWizardButtonState.False
    End With

これらは、最後に作成したウィザードページにのみ追加しました。

于 2016-05-06T08:38:44.020 に答える