このトピックは、RenderImage クラスを使用して既存のテーブルの特定のセルに2つの異なる画像を追加する方法を示します。また、ImageAlignHorzEnumを使用してセル内の画像を配置する方法も示します。下のサンプルは、「3行3列のテーブルの作成」で作成した3行3列の空のテーブルを使用します。また、このトピックの手順を完了するには、2つの GIF または JPEG 画像が必要です。次の手順を実行します。
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' テーブルを作成します。
Dim table As C1.C1Preview.RenderTable = New C1.C1Preview.RenderTable(Me.C1PrintDocument1)
table.Style.GridLines.All = New C1.C1Preview.LineDef(Color.DarkGray)
Dim r As Integer = 3
Dim c As Integer = 3
Dim row As Integer
Dim col As Integer
For row = 0 To r - 1 Step +1
For col = 0 To c - 1 Step +1
Dim celltext As C1.C1Preview.RenderText = New C1.C1Preview.RenderText(Me.C1PrintDocument1)
' 空のセルを追加します。
celltext.Text = String.Format("", row, col)
table.Cells(row, col).RenderObject = celltext
Next
Next
' ドキュメントを生成します。
Me.C1PrintDocument1.Body.Children.Add(table)
Me.C1PrintDocument1.Generate()
End Sub
|
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
private void Form1_Load(object sender, System.EventArgs e)
{
// テーブルを作成します。
C1.C1Preview.RenderTable table = new C1.C1Preview.RenderTable(this.c1PrintDocument1);
table.Style.GridLines.All = new C1.C1Preview.LineDef(Color.DarkGray);
const int r = 3;
const int c = 3;
for (int row = 0; row < r; ++row)
{
for (int col = 0; col < c; ++col)
{
C1.C1Preview.RenderText celltext = new C1.C1Preview.RenderText(this.c1PrintDocument1);
celltext.Text = string.Format("", row, col);
// 空のセルを追加します。
table.Cells[row, col].RenderObject = celltext;
}
}
// ドキュメントを生成します。
this.c1PrintDocument1.Body.Children.Add(table);
this.c1PrintDocument1.Generate();
}
|
|
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
' 中央のセルのサイズを固定します。 table.Rows(1).Height = New C1.C1Preview.Unit(5, C1.C1Preview.UnitTypeEnum.Cm) table.Cols(1).Width = New C1.C1Preview.Unit(8, C1.C1Preview.UnitTypeEnum.Cm) |
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
// 中央のセルのサイズを固定します。 table.Rows[1].Height = new C1.C1Preview.Unit(5, C1.C1Preview.UnitTypeEnum.Cm); table.Cols[1].Width = new C1.C1Preview.Unit(8, C1.C1Preview.UnitTypeEnum.Cm); |
|
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
' 画像の配置を設定します。 table.CellStyle.ImageAlign.StretchHorz = False table.CellStyle.ImageAlign.StretchVert = False table.CellStyle.ImageAlign.AlignHorz = C1.C1Preview.ImageAlignHorzEnum.Center |
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
// 画像の配置を設定します。 table.CellStyle.ImageAlign.StretchHorz = false; table.CellStyle.ImageAlign.StretchVert = false; table.CellStyle.ImageAlign.AlignHorz = C1.C1Preview.ImageAlignHorzEnum.Center; |
|
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
Dim img1 As C1.C1Preview.RenderImage = New C1.C1Preview.RenderImage(Me.C1PrintDocument1) Dim img2 As C1.C1Preview.RenderImage = New C1.C1Preview.RenderImage(Me.C1PrintDocument1) |
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
C1.C1Preview.RenderImage img1 = new C1.C1Preview.RenderImage(this.c1PrintDocument1); C1.C1Preview.RenderImage img2 = new C1.C1Preview.RenderImage(this.c1PrintDocument1); |
|
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
img1.Image = Me.PictureBox1.Image img2.Image = Me.PictureBox2.Image |
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
img1.Image = this.pictureBox1.Image; img2.Image = this.pictureBox2.Image; |
|
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
table.Cells(1, 1).RenderObject = img1 table.Cells(1, 2).RenderObject = img2 |
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
table.Cells[1, 1].RenderObject = img1; table.Cells[1, 2].RenderObject = img2; |
|
テーブルは次のように表示されます。
