我有一個具有多個選項卡頁面的選項卡控件。我希望能夠使標籤來回消失。我沒有看到Tab控件上的不透明選項。當我從一個標籤頁切換到另一個標籤頁時,是否有辦法導致淡入淡出效果?在選項卡控件中的選項卡頁面之間淡入淡出
回答
標準窗口控件中沒有神奇的淡入淡出開關。
您可以將選項卡的內容轉儲爲位圖(使用DrawToBitmap或CopyFromScreen?),在TabControl前顯示該位圖,切換選項卡,然後淡入淡出位圖。
我沒有看到WinForm的/網絡表單的規範,所以我會承擔的WebForm ...
您可以使用AJAX AnimationExtender。
如果失敗,那麼一種不好的方法就是接受一個QueryString,它會導致頁面自動導航到你想要的標籤,並使用頁面轉換。
有關的WinForms,你可以使用WPF :)
根據如何您的標籤/頁的工作,您可以通過添加meta標籤的頁面在頁面級別來處理它:
<meta http-equiv="Page-Enter" content="blendTrans(Duration=0)">
<meta http-equiv="Page-Exit" content="blendTrans(Duration=0)">
只需更改持續時間,使淡出時間更長或更短。這通常被稱爲FAJAX。
我不相信WPF TabControl可以從一個TabItem淡入到下一個,因爲它不能同時顯示多個TabItem。
您可以嘗試通過將兩個ListView
s(一個用於標籤條和一個用於面板)拼接在一起,並將效果添加到後者的ControlTemplate
中。使用TabControl和ListView的ControlTemplates作爲起點。
我決定發佈我做的解決方案。 GvS有最接近的答案,並且以正確的方向將我發送給我,所以我給了他(可能是她,但來了)正確答案複選標記,因爲我不能給自己。 我從來沒有弄清楚如何從一個標籤「交叉淡化」到另一個標籤(爲其中一個帶來不透明度,並在另一個標籤上帶來不透明度),但是我發現等待在灰度框上繪製一個灰度越來越多的灰色圖像褪色到我的背景也是灰色的效果。然後我開始第二個選項卡作爲灰色的位圖,我慢慢地添加較少的灰色結合選項卡圖像每次迭代給它淡入淡出效果。
該解決方案帶來了很好的淡入淡出效果(即使我自己也這樣說),但它非常線性。我打算使用alphablend變量的隨機數生成器,看看它是否會使線性變小,但用戶可能會再次意識到可預測性。順便說一句,我用button_click來觸發switch選項卡事件。
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;
public int alphablend;
public Bitmap myBitmap;
private void button1_Click(object sender, EventArgs e)
{
alphablend = 0;
pictureBox1.Visible = true;
myBitmap = new Bitmap(tabControl1.Width, tabControl1.Height);
while (alphablend <= 246)
{
tabControl1.DrawToBitmap(myBitmap, new Rectangle(0, 0, tabControl1.Width, tabControl1.Height));
alphablend = alphablend + 10;
pictureBox1.Refresh();//this calls the paint action
}
tabControl1.SelectTab("tabPage2");
while (alphablend >= 0)
{
tabControl1.DrawToBitmap(myBitmap, new Rectangle(0, 0, tabControl1.Width, tabControl1.Height));
alphablend = alphablend - 10;
pictureBox1.Refresh();//this calls the paint action
}
pictureBox1.Visible = false;
}
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
Graphics bitmapGraphics = Graphics.FromImage(myBitmap);
SolidBrush greyBrush = new SolidBrush(Color.FromArgb(alphablend, 240, 240, 240));
bitmapGraphics.CompositingMode = CompositingMode.SourceOver;
bitmapGraphics.FillRectangle(greyBrush, new Rectangle(0, 0, tabControl1.Width, tabControl1.Height));
e.Graphics.CompositingQuality = CompositingQuality.GammaCorrected;
e.Graphics.DrawImage(myBitmap, 0, 0);
}
- 1. jQuery的標籤:淡入/淡出選項卡切換
- 2. jQuery的工具選項卡淡入淡出效果
- 3. Ajax選項卡淡入淡出效果問題 - jQuery工具
- 4. 引導淡出選項卡不工作
- 5. 如何使這些選項卡的內容在單擊選項卡時淡入?
- 6. 使用jQueryUI選項卡切換選項卡時是否可以交叉淡入淡出?
- 7. 淡出選項
- 8. 從動態添加的選項卡中刪除淡入淡出效果
- 9. 淡入淡出按鈕/選項卡,直到表單字段有用戶輸入
- 10. 交互淡入淡出動畫在反應導航選項卡導航器
- 11. HTML CSS選項卡控件 - 同一頁面上的多個選項卡控件
- 12. 在調整大小時在選項卡控件中拉伸選項卡標題而不是選項卡頁面
- 13. 在C#中更改選項卡控件中的選項卡#
- 14. 按鈕在選項卡式應用程序中淡入
- 15. 選項卡控件上的選項卡之間的鍵盤快捷鍵
- 16. WPF - 選項卡控件中的兩行選項卡 - 選項卡包裝
- 17. 基於選擇選項的淡入淡出班
- 18. 如何淡出一個選項卡並將其替換爲另一個選項卡,而無需從頁面中刪除該選項卡?
- 19. Jquery選項卡 - 選項卡中的外部頁面(例如google)
- 20. 安卓淡入淡出/菜單選項暗淡
- 21. Ajax選項卡控件中的選項卡更改事件
- 22. jQuery選項卡與主頁 - 選項卡和選項卡內容之間的空間
- 23. DIVS之間淡入淡出
- 24. Bootstrap選項卡:選項卡之間有未知空間
- 25. 在選項卡之間切換時保留選項卡內容
- 26. 如何在不保留選項卡的選項卡之外設置根頁面?
- 27. JQuery - 頁面淡入淡出
- 28. 淡入淡出頁面
- 29. 淡入淡出JSP頁面
- 30. 淡入淡出頁面
這是一個winforms應用程序或網絡應用程序? – Geoff 2008-10-30 12:09:09