HTMLタイプの情報を保持し、それをWebブラウザーコントロール(ユーザーコントロールに配置されたWebブラウザーコントロール)に表示する1つのユーザーコントロールを作成します。すべてのユーザーコントロールは情報で満たされ、ユーザーに次のように表示されます要求された(日付と時間で)。しかし、私はウェブブラウザのサイズ(高さと幅)を修正しました。情報が Web ブラウザよりも大きい場合は、ユーザーがスクロールできるようにスクロール バーを表示する必要があります。このすべてのユーザーコントロールは、情報とともにファイルされ、テーブルパネルに配置されます。次に、テーブルパネルオブジェクトの参照が他のテーブルオブジェクト(別のC#プロジェクトにあります)に与えられます。次に、このテーブル パネルにパネル コントロールを追加して表示します。
問題は、ユーザー コントロールの Web ブラウザー コントロールのサイズが変更された場合 (Document Completed イベントでサイズを確認し、Web ブラウザーを設定しました。Scroll Bars Enabled = true;)、Web ブラウザーによって保持されている情報が表示されないことです。
以下は私のコードです
private void wbContainer_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if ((this.wbContainer.Document.Body.ScrollRectangle.Size.Height > this.wbContainer.Size.Height))
{
this.wbContainer.ScrollBarsEnabled = true;
this.wbContainer.Refresh();
}
}
テーブル パネルにユーザー コントロールが追加されました
public TableLayoutPanel createInfoSection(string arg_startDateTime, string arg_endDateTime)
{
Control objControl = null;
int Rows = 3;
objTablePageNotes = new TableLayoutPanel();
// Initialized tableLayoutPanel property
objTablePageNotes = setTablePanelProperties(objTablePageNotes);
//returning the collection of html information
InformationCollection objInformationCollection = new InformationCollectionManager().GetInformationCollectionData(arg_startDateTime, arg_endDateTime);
if (objInformationCollection != null)
{
if (objInformationCollection.Count > 0)
{
foreach (InformationList objList in objInformationCollection)
{
//this will return control with filling the html information
objControl =ControlFactory.getControl("InfoTemplate",objList.HtmlInformation);
objControl.Dock = DockStyle.Fill;
objTablePageNotes.SetColumnSpan(objControl, 1);
objTablePageNotes.Controls.Add(objControl, 1, Rows);
objTablePageNotes.ResumeLayout(true);
objTablePageNotes.RowStyles.Clear();
objTablePageNotes.RowStyles.Add(new RowStyle(SizeType.AutoSize));
objTablePageNotes.RowCount = Rows;
Rows++;
}
}
}
return objTablePageNotes;
}
次に、このテーブル パネル オブジェクト ref が割り当てられます
tbPanelNoteSection = new CanvasDesignHandler().createInfoSection(_STARTDATE, _ENDDATE);
最後に、パネルコントロールに追加しました
this.pnlPage.Controls.Add(tbPanelNoteSection);