バージョン

GetErrorAtPoint メソッド (UltraSpellChecker)

スペルミスの単語と修正候補を説明する Error を取得します。指定されたクライアント座標にあるスペルチェック済みのコントロールにこのワードが表示されます。その位置にあるワードが正しくスペルされる場合、またはその位置にワードがない場合、Nullを返します。
シンタックス
'宣言
 
Public Function GetErrorAtPoint( _
   ByVal spellCheckTarget As Object, _
   ByVal location As Point _
) As Error
public Error GetErrorAtPoint( 
   object spellCheckTarget,
   Point location
)

パラメータ

spellCheckTarget
ワードが表示されるスペル チェックされたコントロール。
location
ワードがあるスペルチェック済みのコントロールにあるクライアント座標。

戻り値の型

エラーを記述する Error インスタンス。その位置にミススペルされたワードがない場合は Null。
使用例
Imports Infragistics.Win.UltraWinSpellChecker

'A reference to the last clicked error in the rich text box (Nothing if no error was clicked last)
Private lastClickedError As [Error] = Nothing

Private Sub contextMenuAddToDictionary_Click(ByVal sender As Object, ByVal e As EventArgs)
	'Add the last clicked error to the user dictionary
	Me.ultraSpellChecker1.AddWordToUserDictionary(Me.lastClickedError.CheckedWord)
End Sub

Private Sub contextMenuIgnoreAll_Click(ByVal sender As Object, ByVal e As EventArgs)
	'Ignore all instances of the last clicked error
	Me.ultraSpellChecker1.IgnoreAll(Me.lastClickedError.CheckedWord)
End Sub

Private Sub contextMenuSuggestion_Click(ByVal sender As Object, ByVal e As System.EventArgs)
	'Get the menu item that was clicked
	Dim suggestionItem As MenuItem = sender

	'Select the error in the rich text box
	Me.richTextBox1.Select( _
	 Me.lastClickedError.StartIndex, _
	 Me.lastClickedError.EndIndex - Me.lastClickedError.StartIndex + 1)

	'Replace the selected error with the suggestion that was clicked
	Me.richTextBox1.SelectedText = suggestionItem.Text
End Sub

Private Sub richTextBox1_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs) Handles richTextBox1.MouseDown
	'Get the error at the point where the user clicked in the rich text box
	Dim point As Point = New Point(e.X, e.Y)
	Me.lastClickedError = Me.ultraSpellChecker1.GetErrorAtPoint(Me.richTextBox1, point)
End Sub

Private Sub spellingContextMenu_Popup(ByVal sender As Object, ByVal e As EventArgs) Handles spellingContextMenu.Popup
	'Clear the menu items previously added to the context menu
	Me.spellingContextMenu.MenuItems.Clear()

	'If the last clicked spot on the rich text box was over an error...
	If (Not Me.lastClickedError Is Nothing) Then

		'If there are no suggestions...
		If (Me.lastClickedError.Suggestions.Count = 0) Then

			'Add the "no spelling suggestions" menu item and disable it
			Dim noSuggestionsItem As MenuItem = Me.spellingContextMenu.MenuItems.Add("(no spelling suggestions)")
			noSuggestionsItem.Enabled = False

		'Otherwise, if there are suggestions...
		Else

			'Add suggestion menu items to the context menu
			Dim i As Integer
			For i = 0 To Me.lastClickedError.Suggestions.Count - 1

				Me.spellingContextMenu.MenuItems.Add( _
				 Me.lastClickedError.Suggestions(i), _
				 New EventHandler(AddressOf Me.contextMenuSuggestion_Click))

			Next
		End If

		'Add a separator item to the context menu
		Me.spellingContextMenu.MenuItems.Add("-")

		'Add the "Add to Dictionary" menu item
		Dim addItem As MenuItem = Me.spellingContextMenu.MenuItems.Add( _
		 "Add to Dictionary", _
		 New EventHandler(AddressOf Me.contextMenuAddToDictionary_Click))

		'Add the "Ignore All" menu item
		Me.spellingContextMenu.MenuItems.Add( _
		 "Ignore All", _
		 New EventHandler(AddressOf Me.contextMenuIgnoreAll_Click))

	End If
End Sub
using System.Windows.Forms;
using Infragistics.Win.UltraWinSpellChecker;

//A reference to the last clicked error in the rich text box (null if no error was clicked last)
private Error lastClickedError = null;

private void contextMenuAddToDictionary_Click(object sender, System.EventArgs e)
{
	//Add the last clicked error to the user dictionary
	this.ultraSpellChecker1.AddWordToUserDictionary( this.lastClickedError.CheckedWord );
}

private void contextMenuIgnoreAll_Click(object sender, System.EventArgs e)
{
	//Ignore all instances of the last clicked error
	this.ultraSpellChecker1.IgnoreAll( this.lastClickedError.CheckedWord );
}

private void contextMenuSuggestion_Click(object sender, System.EventArgs e)
{
	//Get the menu item that was clicked
	MenuItem suggestionItem = (MenuItem)sender;

	//Select the error in the rich text box
	this.richTextBox1.Select(
		this.lastClickedError.StartIndex,
		this.lastClickedError.EndIndex - this.lastClickedError.StartIndex + 1 );

	//Replace the selected error with the suggestion that was clicked
	this.richTextBox1.SelectedText = suggestionItem.Text;
}

private void richTextBox1_MouseDown(object sender, MouseEventArgs e)
{
	//Get the error at the point where the user clicked in the rich text box
	Point point = new Point( e.X, e.Y );
	this.lastClickedError = this.ultraSpellChecker1.GetErrorAtPoint( this.richTextBox1, point );
}

private void spellingContextMenu_Popup(object sender, System.EventArgs e)
{
	//Clear the menu items previously added to the context menu
	this.spellingContextMenu.MenuItems.Clear();

	//If the last clicked spot on the rich text box was over an error...
	if( this.lastClickedError != null )
	{
		//If there are no suggestions...
		if( this.lastClickedError.Suggestions.Count == 0 )
		{
			//Add the "no spelling suggestions" menu item and disable it
			MenuItem noSuggestionsItem = this.spellingContextMenu.MenuItems.Add( "(no spelling suggestions)" );
			noSuggestionsItem.Enabled = false;
		}
		//Otherwise, if there are suggestions...
		else
		{
			//Add suggestion menu items to the context menu
			for( int i = 0; i < this.lastClickedError.Suggestions.Count; i++ )
			{
				this.spellingContextMenu.MenuItems.Add( 
					this.lastClickedError.Suggestions[ i ],
					new EventHandler( this.contextMenuSuggestion_Click ) );
			}
		}

		//Add a separator item to the context menu
		this.spellingContextMenu.MenuItems.Add( "-" );

		//Add the "Add to Dictionary" menu item
		MenuItem addItem = this.spellingContextMenu.MenuItems.Add( 
			"Add to Dictionary", 
			new EventHandler( this.contextMenuAddToDictionary_Click ) );

		//Add the "Ignore All" menu item
		this.spellingContextMenu.MenuItems.Add( 
			"Ignore All",
			new EventHandler( this.contextMenuIgnoreAll_Click ) );
	}
}
参照