VB Visual Basic  ·  25 вопросов  ·  ~70 мин  ·  ⏱ Таймер 10:00  ·  Средний  · 

WinForms: формы и элементы управления

Тест по теме «WinForms: формы и элементы управления» состоит из 25 вопросов: нужно читать код, сравнивать близкие решения, находить границы применимости правил и разбирать последствия ошибок. Заданий с кодом — 15; после каждого ответа открывается объяснение.

Отвечено: 0 из 25
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На тест отведено 70 минут; после ответа можно открыть объяснение.
Вопрос 1 из 25
Раздел «Жизненный цикл»: что здесь является частью контракта, а не особенностью одного удачного запуска?
Visual Basic / VB.NETVisual Basic · WinForms: формы и элементы управления
Public Class MainForm
    Private cancellation As CancellationTokenSource

    Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        cancellation = New CancellationTokenSource()
        Text = "Ready"
    End Sub

    Private Sub MainForm_FormClosed(sender As Object, e As FormClosedEventArgs) Handles MyBase.FormClosed
        cancellation?.Cancel()
        cancellation?.Dispose()
    End Sub
End Class
Вопрос 2 из 25
Раздел «Жизненный цикл»: какой комментарий к изменению будет технически обоснован?
Visual Basic / VB.NETVisual Basic · WinForms: формы и элементы управления
Option Strict On
Namespace ReviewCase17_1
    Public Class MainForm
        Private cancellation As CancellationTokenSource

        Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            cancellation = New CancellationTokenSource()
            Text = "Ready"
        End Sub

        Private Sub MainForm_FormClosed(sender As Object, e As FormClosedEventArgs) Handles MyBase.FormClosed
            cancellation?.Cancel()
            cancellation?.Dispose()
        End Sub
    End Class
End Namespace
Вопрос 3 из 25
Раздел «Жизненный цикл»: какой результат следует зафиксировать до запуска отрицательного сценария?
Visual Basic / VB.NETVisual Basic · WinForms: формы и элементы управления
Option Explicit On
Option Infer On
Namespace BoundaryCase17_1
    Public Class MainForm
        Private cancellation As CancellationTokenSource

        Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            cancellation = New CancellationTokenSource()
            Text = "Ready"
        End Sub

        Private Sub MainForm_FormClosed(sender As Object, e As FormClosedEventArgs) Handles MyBase.FormClosed
            cancellation?.Cancel()
            cancellation?.Dispose()
        End Sub
    End Class
End Namespace
Вопрос 4 из 25
Раздел «Жизненный цикл»: какой выбор не превращает скрытую ошибку в тихое продолжение работы?
Вопрос 5 из 25
Раздел «Жизненный цикл»: какое правило остаётся верным для современного Visual Basic?
Вопрос 6 из 25
Какой вывод о фрагменте по теме «События» технически обоснован?
Visual Basic / VB.NETVisual Basic · WinForms: формы и элементы управления
Public Class MainForm
    Private Async Sub LoadButton_Click(sender As Object, e As EventArgs) Handles LoadButton.Click
        LoadButton.Enabled = False
        Try
            ResultBox.Text = Await service.LoadAsync()
        Finally
            LoadButton.Enabled = True
        End Try
    End Sub
End Class
Вопрос 7 из 25
Раздел «События»: какой вывод должен пережить рефакторинг этого фрагмента?
Visual Basic / VB.NETVisual Basic · WinForms: формы и элементы управления
Option Strict On
Namespace ReviewCase17_2
    Public Class MainForm
        Private Async Sub LoadButton_Click(sender As Object, e As EventArgs) Handles LoadButton.Click
            LoadButton.Enabled = False
            Try
                ResultBox.Text = Await service.LoadAsync()
            Finally
                LoadButton.Enabled = True
            End Try
        End Sub
    End Class
End Namespace
Вопрос 8 из 25
Раздел «События»: для участка с MainForm нужен отрицательный тест. Какой контракт стоит проверить, меняя только одно условие?
Visual Basic / VB.NETVisual Basic · WinForms: формы и элементы управления
Option Explicit On
Option Infer On
Namespace BoundaryCase17_2
    Public Class MainForm
        Private Async Sub LoadButton_Click(sender As Object, e As EventArgs) Handles LoadButton.Click
            LoadButton.Enabled = False
            Try
                ResultBox.Text = Await service.LoadAsync()
            Finally
                LoadButton.Enabled = True
            End Try
        End Sub
    End Class
End Namespace
Вопрос 9 из 25
Раздел «События»: какое решение выдержит не только демонстрационный, но и отказный сценарий?
Вопрос 10 из 25
Какой принцип по теме «События» стоит закрепить в командных соглашениях?
Вопрос 11 из 25
Раздел «Привязка данных»: какой разбор этого кода останется точным после переименования переменных?
Visual Basic / VB.NETVisual Basic · WinForms: формы и элементы управления
Public Class MainForm
    Private ReadOnly items As New BindingList(Of Item)
    Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Grid.DataSource = items
    End Sub
End Class
Public Class Item
    Public Property Name As String
End Class
Вопрос 12 из 25
Раздел «Привязка данных»: на ревью предлагают упростить участок с MainForm. Какое замечание защищает поведение программы, а не стиль записи?
Visual Basic / VB.NETVisual Basic · WinForms: формы и элементы управления
Option Strict On
Namespace ReviewCase17_3
    Public Class MainForm
        Private ReadOnly items As New BindingList(Of Item)
        Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Grid.DataSource = items
        End Sub
    End Class
    Public Class Item
        Public Property Name As String
    End Class
End Namespace
Вопрос 13 из 25
Какое свойство механизма «Привязка данных» нужно проверить на редком, но допустимом сценарии?
Visual Basic / VB.NETVisual Basic · WinForms: формы и элементы управления
Option Explicit On
Option Infer On
Namespace BoundaryCase17_3
    Public Class MainForm
        Private ReadOnly items As New BindingList(Of Item)
        Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Grid.DataSource = items
        End Sub
    End Class
    Public Class Item
        Public Property Name As String
    End Class
End Namespace
Вопрос 14 из 25
Раздел «Привязка данных»: что стоит закрепить в коде и тестах, а не прикрывать общим обработчиком?
Вопрос 15 из 25
Что можно считать надёжным рабочим правилом для раздела «Привязка данных»?
Вопрос 16 из 25
Раздел «Поток UI»: какое утверждение позволяет предсказать поведение фрагмента по правилам Visual Basic и .NET?
Visual Basic / VB.NETVisual Basic · WinForms: формы и элементы управления
Public Class MainForm
    Private Sub ShowResult(value As String)
        If InvokeRequired Then
            BeginInvoke(Sub() ShowResult(value))
            Return
        End If
        ResultLabel.Text = value
    End Sub
End Class
Вопрос 17 из 25
Раздел «Поток UI»: какой вывод должен пережить рефакторинг этого фрагмента?
Visual Basic / VB.NETVisual Basic · WinForms: формы и элементы управления
Option Strict On
Namespace ReviewCase17_4
    Public Class MainForm
        Private Sub ShowResult(value As String)
            If InvokeRequired Then
                BeginInvoke(Sub() ShowResult(value))
                Return
            End If
            ResultLabel.Text = value
        End Sub
    End Class
End Namespace
Вопрос 18 из 25
Раздел «Поток UI»: что изменится первым при нарушении ключевого допущения этого фрагмента?
Visual Basic / VB.NETVisual Basic · WinForms: формы и элементы управления
Option Explicit On
Option Infer On
Namespace BoundaryCase17_4
    Public Class MainForm
        Private Sub ShowResult(value As String)
            If InvokeRequired Then
                BeginInvoke(Sub() ShowResult(value))
                Return
            End If
            ResultLabel.Text = value
        End Sub
    End Class
End Namespace
Вопрос 19 из 25
Раздел «Поток UI»: какой подход сохраняет границу ответственности и делает отказ диагностируемым?
Вопрос 20 из 25
Раздел «Поток UI»: какое обобщение не зависит от случайных деталей показанного примера?
Вопрос 21 из 25
Посмотрите на фрагмент по теме «Контроль состояния». Какое объяснение точнее всего связывает код с его поведением?
Visual Basic / VB.NETVisual Basic · WinForms: формы и элементы управления
Public Class MainForm
    Private currentLoad As CancellationTokenSource
    Private Async Sub SearchButton_Click(sender As Object, e As EventArgs) Handles SearchButton.Click
        currentLoad?.Cancel()
        currentLoad = New CancellationTokenSource()
        StatusLabel.Text = "Loading"
        Try
            Grid.DataSource = Await repository.SearchAsync(QueryBox.Text, currentLoad.Token)
            StatusLabel.Text = "Ready"
        Catch ex As OperationCanceledException
            StatusLabel.Text = "Canceled"
        End Try
    End Sub
End Class
Вопрос 22 из 25
Раздел «Контроль состояния»: какой вывод должен пережить рефакторинг этого фрагмента?
Visual Basic / VB.NETVisual Basic · WinForms: формы и элементы управления
Option Strict On
Namespace ReviewCase17_5
    Public Class MainForm
        Private currentLoad As CancellationTokenSource
        Private Async Sub SearchButton_Click(sender As Object, e As EventArgs) Handles SearchButton.Click
            currentLoad?.Cancel()
            currentLoad = New CancellationTokenSource()
            StatusLabel.Text = "Loading"
            Try
                Grid.DataSource = Await repository.SearchAsync(QueryBox.Text, currentLoad.Token)
                StatusLabel.Text = "Ready"
            Catch reviewEx As OperationCanceledException
                StatusLabel.Text = "Canceled"
            End Try
        End Sub
    End Class
End Namespace
Вопрос 23 из 25
Раздел «Контроль состояния»: какое утверждение поможет отличить настоящий дефект от случайности тестовых данных?
Visual Basic / VB.NETVisual Basic · WinForms: формы и элементы управления
Option Explicit On
Option Infer On
Namespace BoundaryCase17_5
    Public Class MainForm
        Private currentLoad As CancellationTokenSource
        Private Async Sub SearchButton_Click(sender As Object, e As EventArgs) Handles SearchButton.Click
            currentLoad?.Cancel()
            currentLoad = New CancellationTokenSource()
            StatusLabel.Text = "Loading"
            Try
                Grid.DataSource = Await repository.SearchAsync(QueryBox.Text, currentLoad.Token)
                StatusLabel.Text = "Ready"
            Catch edgeEx As OperationCanceledException
                StatusLabel.Text = "Canceled"
            End Try
        End Sub
    End Class
End Namespace
Вопрос 24 из 25
Какое решение соответствует реальному времени жизни объектов и правилам «Контроль состояния»?
Вопрос 25 из 25
Раздел «Контроль состояния»: какое правило остаётся верным для современного Visual Basic?

Ответьте на все 25 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу