これが私の問題です。C# winforms アプリケーションに Web ブラウザーがあります。ロード後にhtmlを編集するために、デザインモードでhtmlファイルをロードしています。HTML を読み込んだ後、テキストを選択してフォーマットします。テキストを選択して、選択したテキストに対して切り取り、コピー、貼り付け、元に戻す、やり直し、太字、斜体、下線のコマンド操作を行うと、正常に動作します。ただし、justifyleft、justifyright、justifycenter、indent、outdent 操作を行うと、選択したテキストだけでなく、ページ全体が変更されます。
以下は、ブラウザから範囲を選択するために使用しているコードです。
private IHTMLTxtRange getRange(IHTMLSelectionObject selection)
{
if (selection != null)
{
IHTMLTxtRange range = selection.createRange() as IHTMLTxtRange;
return range;
}
return null;
}
private void executeBrowserCommand(string command)
{
sRange = getRange(htmlDoc.selection);
if (sRange != null && sRange.htmlText != "")
{
sRange.execCommand(command, false, null);
}
}
選択したテキストのみではなく、ページ全体で操作が実行されている理由について何かアドバイスはありますか? ありがとう。