books-read.com
books-read.com » Компьютеры и Интернет » Базы данных » Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Наш ресурс дает возможность бесплатно читать книгу онлайн Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю. Жанр: Базы данных . Сайт books-read.com дает возможность читать полную версию книги без регистрации и sms. Все книги онлайн, не надо качать fb2, epub, txt.
Добавить книгу Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю в приложение ЧИТАТЬ КНИГУ ОФЛАЙН в приложении ios/android
Перейти на страницу:

  <Grid.ColumnDefinitions>

    <ColumnDefinition />

    <ColumnDefinition />

  </Grid.ColumnDefinitions>

   <GridSplitter Grid.Column ="0" Width ="5" Background ="Gray" />

  <StackPanel Grid.Column="0" VerticalAlignment ="Stretch" >

    <Label Name="lblSpellingInstructions" FontSize="14" Margin="10,10,0,0">

     Spelling Hints

    </Label>

    <Expander Name="expanderSpelling" Header ="Try these!"

              Margin="10,10,10,10">

<b>      &lt;!-- Будет заполняться программно --&gt;</b>

      &lt;Label Name =&quot;lblSpellingHints&quot; FontSize =&quot;12&quot;/&gt;

    &lt;/Expander&gt;

  &lt;/StackPanel&gt;

<b>  &lt;!-- Это будет областью для ввода --&gt;</b>

  &lt;TextBox  Grid.Column =&quot;1&quot;

            SpellCheck.IsEnabled =&quot;True&quot;

            AcceptsReturn =&quot;True&quot;

            Name =&quot;txtData&quot; FontSize =&quot;14&quot;

            BorderBrush =&quot;Blue&quot;

            VerticalScrollBarVisibility=&quot;Auto&quot;

            HorizontalScrollBarVisibility=&quot;Auto&quot;&gt;

  &lt;/TextBox&gt;

&lt;/Grid&gt;

Реализация обработчиков событий MouseEnter/MouseLeave

К настоящему моменту пользовательский интерфейс окна готов. Понадобится лишь предоставить реализации оставшихся обработчиков событий. Начните с обновления файла кода C# так, чтобы каждый из обработчиков событий

MouseEnter
и
MouseLeave
устанавливал в текстовой панели строки состояния подходящее сообщение, которое окажет помощь конечному пользователю:

public partial class MainWindow : System.Windows.Window

{

  ...

  protected void MouseEnterExitArea(object sender, RoutedEventArgs args)

  {

    statBarText.Text = &quot;Exit the Application&quot;;

  }

  protected void MouseEnterToolsHintsArea(object sender, RoutedEventArgs args)

  {

    statBarText.Text = &quot;Show Spelling Suggestions&quot;;

  }

  protected void MouseLeaveArea(object sender, RoutedEventArgs args)

  {

    statBarText.Text = &quot;Ready&quot;;

  }

}

Теперь приложение можно запустить. Текст в строке состояния должен изменяться в зависимости от того, над каким пунктом меню или кнопкой панели инструментов находится курсор.

Реализация логики проверки правописания

Инфраструктура WPF имеет встроенную поддержку проверки правописания, независимую от продуктов Microsoft Office. Это значит, что использовать уровень взаимодействия с СОМ для обращения к функции проверки правописания Microsoft Word не понадобится: та же самая функциональность добавляется с помощью всего нескольких строк кода.

Вспомните, что при определении элемента управления

TextBox
свойство
Spellcheck.IsEnabled
устанавливается в
true
. В результате неправильно написанные слова подчеркиваются красной волнистой линией, как происходит в Microsoft Office. Более того, лежащая в основе программная модель предоставляет доступ к механизму проверки правописания, который позволяет получить список предполагаемых вариантов для слов, написанных с ошибкой.

Добавьте в метод

ToolsSpellingHints_Click()
следующий код:

protected void ToolsSpellingHints_Click(object sender, RoutedEventArgs args)

{

  string spellingHints = string.Empty;

<b>  // Попробовать получить ошибку правописания</b>

<b>  // в текущем положении курсора ввода.</b>

  SpellingError error = txtData.GetSpellingError(txtData.CaretIndex);

  if (error != null)

  {

<b>    // Построить строку с предполагаемыми вариантами правописания.</b>

    foreach (string s in error.Suggestions)

    {

      spellingHints += $&quot;{s}n&quot;;

    }

<b>    // Отобразить предполагаемые варианты и раскрыть элемент Expander.</b>

    lblSpellingHints.Content = spellingHints;

    expanderSpelling.IsExpanded = true;

  }

}

Приведенный выше код довольно прост. С применением свойства

CaretIndex
извлекается объект
SpellingError
и вычисляется текущее положение курсора ввода в текстовом поле. Если в указанном месте присутствует ошибка (т.е. значение error не равно
null
), тогда осуществляется проход в цикле по списку предполагаемых вариантов с использованием свойства
Suggestions
. После того, как все предполагаемые варианты для неправильно написанного слова получены, они помещаются в элемент
Label
внутри элемента
Expander
.

Перейти на страницу:

Троелсен Эндрю читать все книги автора по порядку

Троелсен Эндрю - на сайте онлайн книг books-read.com Вы можете читать полные версии книг автора в одном месте.


Язык программирования C#9 и платформа .NET5 отзывы

Отзывы читателей о книге Язык программирования C#9 и платформа .NET5, автор: Троелсен Эндрю. Читайте комментарии и мнения людей о произведении.


Уважаемые читатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор books-read.com


Прокомментировать
Подтвердите что вы не робот:*