我有5個窗體(c#winforms),我的應用程序只使用一種窗體作爲父窗體,所有子窗體通過按需調用ShowDialog方法顯示。我希望將子窗體聚焦,並且在爲任何子窗體調用ShowDialog方法之前將Opacity設置爲0.83,然後將其重置爲1.但是我需要在所有位置執行此操作。有什麼常見的方法來實現這一點?當執行ShowDialog方法時,爲父窗體設置不透明度
0
A
回答
3
Encapsulate
在single method
始終使用該方法調用你的孩子的邏輯形成類似 -
public void ShowChildForm()
{
this.Opacity = 0.83;
// show dialog logic here
this.Opacity = 1.0;
}
0
這是我一直在尋找答案,
public DialogResult ShowChildForm(Form childForm)
{
this.Opacity = 0.83;
DialogResult dr = childForm.ShowDialog();
this.Opacity = 1.0;
return dr;
}
+0
-1這就是Rohit Vats的一個小修改。 – jgauffin
0
您可以訂閱ChildForm的父窗體中的加載和關閉事件,如下所示:
public partial class Parent : Form
{
public Parent()
{
InitializeComponent();
}
protected override void OnLoad(EventArgs e)
{
var form = new ChildForm();
form.Load += form_Load;
form.Closed += form_Closed;
base.OnLoad(e);
}
void form_Closed(object sender, EventArgs e)
{
this.Opacity = 1;
}
void form_Load(object sender, EventArgs e)
{
this.Opacity = 0.85;
}
}
相關問題
- 1. C#ShowDialog父窗體爲空
- 2. 的ShowDialog不堵父窗體
- 3. C#NET - 在不透明度設置的窗體上繪製不透明畫筆
- 4. 無法爲微軟窗口上的gdkwindow設置不透明度
- 5. 將不透明度設置爲父項但不包含子項
- 6. 如何在Windows窗體中設置按鈕不透明度
- 7. CSS不透明度設置
- 8. 設置不透明度ScrollPane
- 9. 設置不透明度(可能使用'背景'屬性)當選擇窗體
- 10. SlickGrid設置行不透明度
- 11. 使用javascript設置不透明度爲父div使用javascript
- 12. 將不透明度設置爲PictureDrawable
- 13. 將不透明度設置爲ImageButton?
- 14. 設置不透明度爲形狀
- 15. 爲.vtk文件設置不透明度
- 16. 整體SVG不透明度/透明度
- 17. 更改不透明度時重繪窗口不透明度
- 18. 將窗體設置爲父窗體#
- 19. C#設計透明窗體
- 20. 窗體不透明度..如何控制?
- 21. 當方法執行代碼時顯示進度窗體的最佳方法?
- 22. 在窗體中設置透明度控件
- 23. 如何在上傳時設置圖像不透明度的不透明度?
- 24. Delphi +透明窗體與父母
- 25. 父母形式的透明子窗體與透明度和背景
- 26. 設置透明主窗口
- 27. Direct2D:在透明父窗口上的不透明子窗口
- 28. 拖動不透明窗體?
- 29. 移動div時不透明度不當鼠標移動時的不透明度
- 30. 爲什麼窗體不透明度不變?
我不認爲這是非常有用的,因爲ShowDialog的邏輯5種不同的形式必須是不同的,所以它不是一個方法封裝已經 – VahiD
我可以寫的方法, 公衆的DialogResult ShowChildForm(表格childForm) { 這一點。不透明度= 0.83; DialogResult dr = childForm.ShowDialog(); this.Opacity = 1.0; return dr; } – Albert
@VahiD - 'ShowDialog'如何可以不同?它只是'form.ShowDialog()'。 –