あなたは、ストリームに保存する端部に位置する「カーソル」を残して...そして与えていますそれは私が現在の場所から読んでいると思われるブラウザにそれを。以下を追加してください:
stream.Position = 0;
最後の行の直前。
編集:さて、あなたはそれが動作していないと言う...ここで私のために動作する短いが完全なプログラムです。これを試してみて、それがあなたのために働くかどうかを確認 - そしてそれがない場合は、あなたのコードと、この違いをうまくできるかどうかは、以下を参照してください
using System;
using System.Drawing;
using System.IO;
using System.Text;
using System.Windows.Forms;
class Test
{
[STAThread]
static void Main()
{
Form form = new Form();
WebBrowser browser = new WebBrowser();
browser.Dock = DockStyle.Fill;
form.Controls.Add(browser);
form.Load += delegate { SetDocumentStream(browser); };
Application.Run(form);
}
static void SetDocumentStream(WebBrowser browser)
{
string text = "<html><head><title>Stuff</title></head>" +
"<body><h1>Hello</h1></body></html>";
byte[] bytes = Encoding.UTF8.GetBytes(text);
MemoryStream ms = new MemoryStream();
ms.Write(bytes, 0, bytes.Length);
ms.Position = 0;
browser.DocumentStream = ms;
}
}
まだ動作していません! – gremo
@Gremo:私の編集を参照してください。 –
Ok!私が解決しなければならない唯一の問題は、データソースプロパティをXMLメモリストリームに設定するときに、Webbroserコントロールが空白になってしまうことです。ストリームには実際にデータが含まれています(xmlは右クリック→ウェブブラウザコントロールのソース表示)。たぶん私はタグを設定する必要がありますが、私はより良い解決策を探していた... – gremo