monoでリストビューの行の高さを設定

コンピュータ

ソースコード

using System;
using System.Windows.Forms;
using System.Drawing;
/* ****************************************
     リストビューの行の高さを設定
**************************************** */
/*
ビルド
mcs ListViewRowHeight.cs /r:System.Windows.Forms.dll /r:System.Drawing.dll
実行
mono ListViewRowHeight.exe
*/
namespace ListViewRowHeight
{
class Form1 : Form
{
    ListView listView = new ListView()
    {
        Dock = DockStyle.Fill,
        View = View.Details,   // 表示...詳細
    };
    // コンストラクタ
    Form1()
    {
        // フォームサイズ
        this.Size = new Size(800, 600);
        // フォームにコントロールを登録
        this.Controls.Add(listView);
        // リストビューに項目を追加
        listView.Columns.AddRange(new ColumnHeader[]
        {
            // 名前、幅
            new ColumnHeader(){Text = "名前", Width = 480, }
        });
        // SmallImageListを使いリストビューの行の高さをセット
        listView.SmallImageList = new ImageList()
        {
            ImageSize = new Size(1, 120),
        };
        // フォントサイズをセット
        listView.Font = new Font(listView.Font.FontFamily, 16);
        // リストビューにアイテムを追加
        for(int i=0;i < 5;i++)
        {
            string[] item = {String.Format("{0}番目",i+1)};
            var lvi = new ListViewItem(item);
            listView.Items.Add(lvi);
        }
    }
    // エントリーポイント
    [STAThread]
    static void Main()
    {
        Application.Run(new Form1());
    }
}//class
}//namespace

SmallImageListの高さをセットすることで行の高さを変更します。
ただしこの方法だとSmallImageListに画像をセットする本来の使い方ができなくなります。

ビルド

mcs ListViewRowHeight.cs /r:System.Windows.Forms.dll /r:System.Drawing.dll

実行

mono ListViewRowHeight.exe

コメント