I am using Microsoft.Office.Interop.Word to SpellCheck a TextEdit box in my C# application. Works great except that I would like to center the SpellCheck Dialog on the Parent Form that called it. Is there a way to do this?
Here is the C# code that calls it:
Here is the C# code that calls it:
C#:
public void fSpellCheck(TextBox tBox, Label lLbl)
{
int iErrorCount = 0;
Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();
if (tBox.Text.Length > 0)
{
app.Visible=false;
// Setting these variables is comparable to passing null to the function.
// This is necessary because the C# null cannot be passed by reference.
object template=Missing.Value;
object newTemplate=Missing.Value;
object documentType=Missing.Value;
object visible=true;
object optional = Missing.Value;
_Document doc = app.Documents.Add(ref template, ref newTemplate, ref documentType, ref visible);
doc.Words.First.InsertBefore (tBox.Text );
Microsoft.Office.Interop.Word.ProofreadingErrors we = doc.SpellingErrors;
iErrorCount = we.Count;
doc.CheckSpelling( ref optional, ref optional, ref optional, ref optional,
ref optional, ref optional, ref optional,
ref optional, ref optional, ref optional, ref optional, ref optional);
if (iErrorCount == 0)
lLbl.Text = "Spelling OK. No errors corrected ";
else if (iErrorCount == 1)
lLbl.Text = "Spelling OK. 1 error corrected ";
else
lLbl.Text = "Spelling OK. " + iErrorCount + " errors corrected ";
object first=0;
object last=doc.Characters.Count -1;
tBox.Text = doc.Range(ref first, ref last).Text;
}
else
lLbl.Text = "Textbox is empty";
object saveChanges = false;
object originalFormat = Missing.Value;
object routeDocument = Missing.Value;
app.Quit( ref saveChanges, ref originalFormat, ref routeDocument);
}