PictureBox.SizeMode プロパティ
イメージの表示方法を示します。
Public Property SizeMode As PictureBoxSizeMode
[C#]
public PictureBoxSizeMode SizeMode {get; set;}
[C++]
public: __property PictureBoxSizeMode get_SizeMode();public: __property void set_SizeMode(PictureBoxSizeMode);
[JScript]
public function get SizeMode() : PictureBoxSizeMode;public function set SizeMode(PictureBoxSizeMode);
プロパティ値
PictureBoxSizeMode 値の 1 つ。既定値は Normal です。
例外
例外の種類 | 条件 |
---|---|
InvalidEnumArgumentException | 代入された値が、 PictureBoxSizeMode 値ではありません。 |
解説
このプロパティの有効値は、 PictureBoxSizeMode 列挙体から取得されます。既定の PictureBoxSizeMode.Normal モードでは、 Image が PictureBox の左上隅に配置され、 PictureBox に対して大きすぎるイメージ部分はクリップされます。 PictureBoxSizeMode.StretchImage 値を使用すると、 PictureBox に合わせてイメージの大きさが調整されます。
PictureBoxSizeMode.AutoSize 値を使用すると、コントロールのサイズがイメージに合わせて随時調整されます。 PictureBoxSizeMode.CenterImage 値を使用すると、イメージがクライアント領域の中央に配置されます。
使用例
[Visual Basic, C#] PictureBox コントロールと ListView コントロールの使用方法を示すコード例を次に示します。PictureBox は、 BorderStyle プロパティ (BorderStyle 列挙体を使用) と SizeMode プロパティ (PictureBoxSizeMode 列挙体を使用) を設定することにより初期化されます。ListView には、Samples ディレクトリからイメージが読み込まれます。ListView コントロールの MouseDown イベントを処理して項目が選択されているかどうかを判断するとするときは、 GetItemAt メソッドを使用します。項目が選択されている場合、その項目は、イベント ハンドラがコントロールの Image プロパティを設定することにより表示されます。この例では、C:\documents and Settings\All Users\Documents\My Pictures\Sample Pictures ディレクトリに JPG ファイルが存在していることを前提としています。この例を実行するには、フォームにコードを貼り付けて、フォームのコンストラクタまたは Load メソッドで InitializePictureBox メソッドおよび PopulateListView メソッドを呼び出します。必ずすべてのイベントをイベント処理メソッドに関連付けるようにしてください。
Private Sub PopulateListView()
ListView1.Width = 270
ListView1.Location = New System.Drawing.Point(10, 10)
' Declare and construct the ColumnHeader objects.
Dim header1, header2 As ColumnHeader
header1 = New ColumnHeader
header2 = New ColumnHeader
' Set the text, alignment and width for each column header.
header1.Text = "File name"
header1.TextAlign = HorizontalAlignment.Left
header1.Width = 70
header2.TextAlign = HorizontalAlignment.Left
header2.Text = "Location"
header2.Width = 200
' Add the headers to the ListView control.
ListView1.Columns.Add(header1)
ListView1.Columns.Add(header2)
' Populate the ListView.Items property.
' Set the directory to the sample picture directory.
Dim dirInfo As New System.IO.DirectoryInfo _
("C:\Documents and Settings\All Users" _
& "\Documents\My Pictures\Sample Pictures")
Dim file As System.IO.FileInfo
' Get the .jpg files from the directory
Dim files() As System.io.FileInfo = dirInfo.GetFiles("*.jpg")
' Add each file name and full name including path
' to the ListView.
If Not (files Is Nothing) Then
For Each file In files
Dim item As New ListViewItem(file.Name)
item.SubItems.Add(file.FullName)
ListView1.Items.Add(item)
Next
End If
End Sub
Private Sub InitializePictureBox()
PictureBox1 = New PictureBox
' Set the location and size of the PictureBox control.
Me.PictureBox1.Location = New System.Drawing.Point(70, 120)
Me.PictureBox1.Size = New System.Drawing.Size(140, 140)
Me.PictureBox1.TabStop = False
' Set the SizeMode property to the StretchImage value. This
' will shrink or enlarge the image as needed to fit into
' the PictureBox.
Me.PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
' Set the border style to a three-dimensional border.
Me.PictureBox1.BorderStyle = BorderStyle.Fixed3D
' Add the PictureBox to the form.
Me.Controls.Add(Me.PictureBox1)
End Sub
Private Sub ListView1_MouseDown(ByVal sender As Object, _
ByVal e As MouseEventArgs) Handles ListView1.MouseDown
Dim selection As ListViewItem = ListView1.GetItemAt(e.X, e.Y)
' If the user selects an item in the ListView, display
' the image in the PictureBox.
If Not (selection Is Nothing) Then
PictureBox1.Image = System.Drawing.Image.FromFile _
(selection.SubItems(1).Text)
End If
End Sub
[C#]
private void PopulateListView()
{
ListView1.Width = 270;
ListView1.Location = new System.Drawing.Point(10, 10);
// Declare and construct the ColumnHeader objects.
ColumnHeader header1, header2;
header1 = new ColumnHeader();
header2 = new ColumnHeader();
// Set the text, alignment and width for each column header.
header1.Text = "File name";
header1.TextAlign = HorizontalAlignment.Left;
header1.Width = 70;
header2.TextAlign = HorizontalAlignment.Left;
header2.Text = "Location";
header2.Width = 200;
// Add the headers to the ListView control.
ListView1.Columns.Add(header1);
ListView1.Columns.Add(header2);
// Populate the ListView.Items property.
// Set the directory to the sample picture directory.
System.IO.DirectoryInfo dirInfo =
new System.IO.DirectoryInfo(
"C:\\Documents and Settings\\All Users" +
"\\Documents\\My Pictures\\Sample Pictures");
// Get the .jpg files from the directory
System.IO.FileInfo[] files = dirInfo.GetFiles("*.jpg");
// Add each file name and full name including path
// to the ListView.
if (files != null)
{
foreach ( System.IO.FileInfo file in files )
{
ListViewItem item = new ListViewItem(file.Name);
item.SubItems.Add(file.FullName);
ListView1.Items.Add(item);
}
}
}
private void InitializePictureBox()
{
PictureBox1 = new PictureBox();
// Set the location and size of the PictureBox control.
this.PictureBox1.Location = new System.Drawing.Point(70, 120);
this.PictureBox1.Size = new System.Drawing.Size(140, 140);
this.PictureBox1.TabStop = false;
// Set the SizeMode property to the StretchImage value. This
// will shrink or enlarge the image as needed to fit into
// the PictureBox.
this.PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
// Set the border style to a three-dimensional border.
this.PictureBox1.BorderStyle = BorderStyle.Fixed3D;
// Add the PictureBox to the form.
this.Controls.Add(this.PictureBox1);
}
private void ListView1_MouseDown(object sender, MouseEventArgs e)
{
ListViewItem selection = ListView1.GetItemAt(e.X, e.Y);
// If the user selects an item in the ListView, display
// the image in the PictureBox.
if (selection != null)
{
PictureBox1.Image = System.Drawing.Image.FromFile(
selection.SubItems[1].Text);
}
}
[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
参照
PictureBox クラス | PictureBox メンバ | System.Windows.Forms 名前空間 | Image | PictureBoxSizeMode