gpt4 book ai didi

c# - 拼写检查仅替换 TextBox 中的第一个单词

转载 作者:太空宇宙 更新时间:2023-11-03 11:11:08 25 4
gpt4 key购买 nike

我知道我以前在某个地方见过这个问题,但我不确定当时是否有答案。我正在尝试将拼写检查添加到 WPF、.NET 4.0 中的 TextBox。它在查找和标记不正确的单词方面效果很好,如果不正确,它将替换 TextBox 中的第一个单词。任何超过第一个单词的东西,它只是将克拉移动到 TextBox 的开头而不改变任何东西?正如我所说,我大约 6-9 个月前在某个地方看到过这个,但现在我在谷歌中提出的所有内容都涉及替代语言(我现在严格使用英语)。我包含事件方法和样式 XAML 只是为了完整性,我认为问题不在于此。

XAML:

<MultiBox:MultiBox Name="callNotes" Grid.Column="1" Width="Auto" Height="Auto" Margin="2,5,15,20" VerticalAlignment="Stretch" AcceptsReturn="True" FontWeight="Bold" GotFocus="callNotes_GotFocus" SelectAllOnGotFocus="False" SpellCheck.IsEnabled="True" xml:lang="en-US" Style="{StaticResource TextBoxStyle}" TextChanged="callNotes_TextChanged" TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" />

<Style x:Key="TextBoxStyle" TargetType="{x:Type MyNamespace:MultiBox}">
<Setter Property="CharacterCasing" Value="Upper" />
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="VerticalAlignment" Value="Top" />
<Setter Property="Height" Value="23" />
<Setter Property="Width" Value="Auto" />
<Setter Property="SelectAllOnGotFocus" Value="True" />
<Setter Property="TextWrapping" Value="Wrap" />
</Style>

代码:

private void callNotes_TextChanged(object sender, TextChangedEventArgs e)
{
callNotes.Text.ToUpper();
lineCountOne.Content = ((callNotes.Text.Length / 78) + 1);
}

private void callNotes_GotFocus(object sender, RoutedEventArgs e)
{
callNotes.CaretIndex = callNotes.Text.Length;
}

最佳答案

查看尝试更正错误的代码会有所帮助。这是一个简单的代码,它循环遍历所有检测到的错误并接受第一个建议。如果您只想修复特定错误,则需要通过在特定索引处获取错误来跳到您感兴趣的特定错误。

        int ndx;
while ((ndx = callNotes.GetNextSpellingErrorCharacterIndex(0, LogicalDirection.Forward)) != -1)
{
var err = callNotes.GetSpellingError(ndx);
foreach (String sugg in err.Suggestions)
{
err.Correct(sugg);
break;
}
}

关于c# - 拼写检查仅替换 TextBox 中的第一个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14012775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com