Vista 64 環境で負の Control.Handle 値に関連する問題が発生しました。
ということで簡単なフォームを作ってみました。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = this.Handle.ToString();
textBox2.Text = textBox2.Handle.ToString();
}
}
このプログラムの 86 バージョンと 64 バージョンの両方を試しましたが、両方のハンドルで、-265484586、-266008916、-266205244....
プログラムを Win7 で実行すると、ハンドルは正常になります。どうしたの?ハンドルが常に正であると仮定するのは間違っていますか?