[追加]|[新しいアイテム]|[Windowsフォーム]を使用して新しいフォームを作成することをお勧めします。次に、リストボックスを追加できるデザインサーフェスと、フォームとリストボックスを正しく初期化するコードを生成します。特に、フォームとリストボックスには、現在はないデフォルトのサイズが適用されます。
コード(たとえばForm1.cs)は次のようになります。
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        this.listBox1.DataSource = new List<int> { 1, 2, 3, 4 };
    }
    public int? SelectedValue
    {
        get
        {
            return (int?)this.listBox1.SelectedValue;
        }
    }
}
さらに、Form1.Designer.csには次のようなコードがたくさんあります。
....
    #region Windows Form Designer generated code
    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    private void InitializeComponent()
    {
        this.listBox1 = new System.Windows.Forms.ListBox();
        this.SuspendLayout();
        // 
        // listBox1
        // 
        this.listBox1.FormattingEnabled = true;
        this.listBox1.Location = new System.Drawing.Point(30, 37);
        this.listBox1.Name = "listBox1";
        this.listBox1.Size = new System.Drawing.Size(120, 95);
        this.listBox1.TabIndex = 0;
        // 
        // Form1
        // 
        this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
        this.ClientSize = new System.Drawing.Size(284, 261);
        this.Controls.Add(this.listBox1);
        this.Name = "Form1";
        this.Text = "Form1";
        this.ResumeLayout(false);
    }
    #endregion
そして、あなたはこのようにあなたのフォームを使うことができます:
    private void button1_Click(object sender, System.EventArgs e)
    {
        using (var form = new Form1()) // you should dispose forms used as dialogs
        {
            if (DialogResult.OK == form.ShowDialog()) // optional (you could have OK/Cancel buttons etc
            {
                Debug.WriteLine(form.SelectedValue ?? -1);
            }
        }
    }