開始想要用gif格式的動畫作為視窗載入時的動畫,可是試了之後沒辦法去除的空白,所以網上搜了搜重寫的控制項,發現下面這個挺好用的,不過樣式只有一種但是具體資訊可以自己設定。
首先要先建立乙個控制項類,這個類照搬就行,加點命名空間,沒有太大變化。
namespace lodingcircle
#endregion
#region 區域性變數
private timer m_timer;//計時器
private bool m_istimeractive;//
private int m_numberofspoke;//輻條數量
private int m_spokethickness;//輻條粗細
private int m_progressvalue;//------------------------
private int m_outercircleradius;//外圈
private int m_innercircleradius;//內圈
private pointf m_centerpoint;//二維平面的點
private color m_color;
private color m_colors;
private double m_angles;
private stylepresets m_stylepreset;//列舉的瀏覽器
#endregion
#region 屬性
///
/// 獲取和設定控制項高亮色
///
/// 高亮色
[typeconverter("system.drawing.colorconverter"), category("loadingcircle"), description("獲取和設定控制項高亮色")]
public color color
set}
///
/// 獲取和設定外圍半徑
///
/// 外圍半徑
[system.componentmodel.description("獲取和設定外圍半徑"), system.componentmodel.category("loadingcircle")]
public int outercircleradius
return m_outercircleradius;
}set
}///
/// 獲取和設定內圓半徑
///
/// 內圓半徑
[system.componentmodel.description("獲取和設定內圓半徑"), system.componentmodel.category("loadingcircle")]
public int innercircleradius
return m_innercircleradius;
}set
}///
/// 獲取和設定輻條數量
///
/// 輻條數量
[system.componentmodel.description("獲取和設定輻條數量"), system.componentmodel.category("loadingcircle")]
public int numberspoke
return m_numberofspoke;
}set}}
///
/// 獲取和設定乙個布林值,表示當前控制項是否啟用。
///
/// true 表示啟用;否則,為false。
[system.componentmodel.description("獲取和設定乙個布林值,表示當前控制項是否啟用。"), system.componentmodel.category("loadingcircle")]
public bool active
set}
///
/// 獲取和設定輻條粗細程度。
///
/// 輻條粗細值
[system.componentmodel.description("獲取和設定輻條粗細程度。"), system.componentmodel.category("loadingcircle")]
public int spokethickness
return m_spokethickness;
}set
}///
/// 獲取和設定旋轉速度。
///
/// 旋轉速度
[system.componentmodel.description("獲取和設定旋轉速度。"), system.componentmodel.category("loadingcircle")]
public int rotationspeed
set}
}///
/// 快速設定預定義風格。
///
/// 風格的值
/// the custom-sized area for a control.
///
/// an ordered pair of type representing the width and height of a rectangle.
///
public override size getpreferredsize(size proposedsize)
///
/// 設定控制項的外觀
///
/// 條數
/// 粗細
/// 內圓半徑
/// 外圓半徑
接下來就開始寫函式呼叫。
loadingcirlce loadcircle1 = new loadingcirlce();//宣告
loadcircle1.stylepreset = loadingcirlce.stylepresets.macosx; /其中有乙個自動的樣式 可以選擇其中一
///這個是看你要把控制項載入到哪了/
loadcircle1.size = loadcircle1.getpreferredsize(new size(20, 20));
loadcircle1.location = new point(this.width / 2, this.height / 2);
loadcircle1.active = true;//啟用控制項
this.controls.add(loadcircle1);
下面是效果圖:
WPF載入等待動畫
原文 wpf載入等待動畫 介面遮罩 等待動畫全域性顏色 等待動畫中的小圓 後台業務 新增了幾項屬性 動畫控制 小圓的位置設定 loadingwait.xaml 的互動邏輯 public partial class loadingwait usercontrol set using a depende...
為資料視窗載入資料建立等待視窗
1,建一 popup 型別的視窗,放上你的gif,儲存的名稱如 w base wait 2,將下面的 另存為 n cst thread basewait.sru 再在你的 pbl 上右鍵 import.得到乙個名為n cst thread basewait 的 custom class pbexpo...
自定義載入等待動畫,仿金山詞霸
分析一下效果圖,關鍵的技術點如下 1.繪製除出9個圓點 圓點的個數可以自己定義 2.顏色的變化是逐級發生變化.畫圓點的方法 public void drawcircle float cx,float cy,float radius,paint paint cx 小圓點x座標 cy 小圓點y座標 ra...