我有,我已經寫了我自己的小拾色器,將只顯示系統顏色的WinForm應用程序。這基本上是一個TableLayoutPanel
與一堆小面板添加到它,我只是設置背景顏色。關閉(),通過打開的ShowDialog形式
很簡單:
現在,我打開這個形式有:
using (frmColourWindow colourPicker = new frmColourWindow (Cursor.Position.X, Cursor.Position.Y, findingPriority))
{
colourPicker.ShowDialog();
if (!colourPicker.SelectedColor.IsEmpty)
{
pnlColor.BackColor = colourPicker._SelectedColor;
}
}
,並通過設置DialogResult
當用戶點擊的一個與關閉它彩色面板。
這一切工作不錯,我不能設法得到正確的唯一事情就是通過關閉的形式,當它失去焦點(例如,當用戶點擊了其他位置或開始輸入)。我看了一下Deactivate
,LostFocus
和Leave
事件。當我想要他們時,似乎無法讓這些事件觸發。也許我錯過了一些明顯的東西?
當打開一個表格'ShowDialog的()'你只能「利用」這種形式,直到它已被關閉。如果我理解你想要的東西,使用'Show()'而不是ShowDialog()',那麼這些事件應該會觸發。 –
您當然可以,選擇面板並點擊ApplicationSettings。如果您需要更多幫助,請按F1。 –
@Bojan,如果我使用'Show()',然後'Close()'表單從編程的顏色選擇器內,我如何從我的顏色選擇器中獲取選定的顏色?因爲一旦表單關閉,後面的小面板必須設置爲該顏色 –