源:人民日報中央廚房-藍藍天工作室
虎年新春的鐘聲
即將敲響
在中國文化中
虎是勇敢和力量的象征
今天,從東北虎豹國家公園躍來的
冰雪健將“萌小虎”
前來陪您過年
為您送上專屬新春祝福!
(識別海報中二維碼,下載表情包)
虎年大吉~
“萌小虎”給您拜大年啦!
吃頓餃子,暖胃暖心,辭舊迎新~
新年來到,給大家發個紅包~
喜迎虎年,共賀新春!
虎年接虎福,新年更幸福~
嗷嗚~虎年氛圍組已上線!
(#°Д°)!
虎虎生風加油干,生龍活虎過大年!
給努力的你手動點贊,棒棒噠~
哼~我瞧瞧誰沒把本虎收藏!
大老遠趕來的“萌小虎”
只帶著一大包表情包來表“情”
那怎么夠?
福虎送福
當然要誠意滿滿!
長按下圖二維碼并識別
或用手機微信直接掃碼
您將親手拼出一只“萌小虎”
解鎖虎年聊天必備虎知識
拿到更多驚喜
眼明手快的你
將擁有虎年專屬祝福
愛“拼”就會贏!快快接福吧!
(H5鏈接:http://v.people.cn/GB/177969/441849/index.html)
“萌小虎”的祝福,大家可要收好喲!
生龍活虎,龍騰虎躍
福虎迎春,虎到福到
快把新年海報曬到朋友圈吧
一起迎春接福
共祝國泰民安!
來源|人民網、人民日報中央廚房-藍藍天工作室
支持單位:國家林業和草原局(國家公園管理局)宣傳中心、 東北虎豹國家公園管理局
本文來自【人民日報中央廚房-藍藍天工作室】,僅代表作者觀點。全國黨媒信息公共平臺提供信息發布傳播服務。
ID:jrtt
年一度的中秋節馬上就到啦,小伙伴們收到月餅了嗎。
記得我的學生時代,郵件祝福還風靡過一段時間,打開QQ郵箱,各種轉發郵件和祝福郵件,現在想想都覺得有點久遠了。
相信小伙伴們也都用過群發郵件的功能,例如QQ郵箱,163郵箱等都有提供這種功能,直接發送或者密送都可以。但都會存在一個問題,就是一鍵發送時,郵件內容都是一樣的,無法針對收件人而有個性化的稱呼。針對這個需求,我們可以做一個群發郵件的桌面端軟件。
我們首先整理下我們需要實現的最簡單的功能:
需求整理完成,說干就干。
首先新建一個窗體,定義為MainForm。將MainForm的初始狀態修改為一打開就最大化。
this.WindowState=FormWindowState.Maximized;
我們可以用GroupBox將Mainform劃分為三部分,“登錄信息”,“收件人信息”,還有“郵件內容”,如圖:
Tips:因為我們默認窗口最大化,所以我們需要先設置三個GroupBox的Anchor屬性,依次分別為“Top,Bottom,Left”,“Top,Bottom,Left”和“Top,Bottom,Left,Right”。這樣GroupBox就會隨窗口大小變化而不至于打亂布局。
劃分布局之后,在每一個GroupBox中增加我們需要的控件。
“登錄信息”:
兩個Label(標注“賬號”與“密碼”);
兩個TextBox(用來輸入賬號與密碼);
兩個CheckBox(一個用來記住賬戶密碼,一個用來隱藏密碼)。
用TextBox輸入密碼時,我們可以設置TextBox的UseSystemPasswordChar屬性為True,則我們輸入的文字都會以密文顯示。與CheckBox聯動,默認勾選CheckBox時,密碼以符號顯示,不勾選CheckBox時,密碼以明文顯示。
代碼如下:
private void cbShowPwd_CheckedChanged(object sender, EventArgs e)
{
if (this.cbShowPwd.Checked==true)
{
this.tbPassword.UseSystemPasswordChar=false;
}
else
{
this.tbPassword.UseSystemPasswordChar=true;
}
}
實際效果如圖:
記住賬戶與密碼涉及本地存儲,我們后面具體寫代碼時再來實現這個功能,先按住不提。
“收件人信息”:
一個CheckBox(全選功能);
一個CheckListBox(用來顯示導入的收件人信息);
兩個Button(一個用來導入文件,一個用來確認選擇收件人);
一個Label(用來顯示已選擇的收件人數量)。
關于CheckListBox的相關設置與全選功能具體可以查看我的上一篇文章(「Winform開發小技巧05」批量操作單號-CheckListBox)
全選功能代碼:
private void cbSelectAll_CheckedChanged(object sender, EventArgs e)
{
//全選功能
if (this.cbSelectAll.Checked)
{
for (int i=0; i < this.clbReceivers.Items.Count; i++)
{
if (!this.clbReceivers.GetItemChecked(i))
this.clbReceivers.SetItemChecked(i,true);
}
}
else
{
for (int i=0; i < this.clbReceivers.Items.Count; i++)
{
if (this.clbReceivers.GetItemChecked(i))
this.clbReceivers.SetItemChecked(i, false);
}
}
}
這里的操作邏輯是:點擊Button導入收件人=>CheckListBox顯示收件人=>全選=>Label顯示已選人數=>點擊Button確認選擇,收件人數據傳輸到下一個部分“郵件內容”。
導入功能我們可以寫一個方法,這里先暫時不寫。
我們可以先解決Label的顯示問題。Label顯示選擇人數時,需要根據CheckListBox中Item的實時勾選狀態進行變化,這個比較有趣,我們可以在CheckListBox的Itemcheck事件中實現。
代碼如下:
private void clbReceivers_ItemCheck(object sender, ItemCheckEventArgs e)
{
//這個事件是指示某項的選中狀態將要被更改、在更改前會執行這個事件
//所以checkedListBox.CheckedItems.Count獲取的是更改之前的值
if (e.NewValue==CheckState.Checked)
{
this.lbSelectedCount.Text="已選:"+(this.clbReceivers.CheckedItems.Count + 1).ToString();
}
else
{
this.lbSelectedCount.Text="已選:" + (this.clbReceivers.CheckedItems.Count - 1).ToString();
}
}
實際效果如圖:(因為還沒有數據,為了展示效果,我先手動輸入一些數據)
“郵件內容”:
兩個Label;
兩個TextBox(一個用來顯示收件人,一個用來輸入標題,顯示收件人我們可以將其MultiLine屬性設置為True,這樣可以多行顯示);
一個RichTextBox(用來輸入正文內容,后期我們用Html來發送文件,RichTextBox方便我們輸入段落及圖片);
一個Button(用來確認發送郵件)。
效果如圖:
至此,我們的布局就全部完成了!
但是大家又沒有發現一個問題,由于Winfrom界面縮放問題,我們生成的界面有點模糊,很難看,針對這個問題,微軟有專門的解決方案。
首先右鍵項目=>添加新建項=>添加應用程序清單文件。
打開app.manifest文件,取消application節點注釋
打開App.config文件,添加節點EnableWindowsFormsHighDpiAutoResizing,值為true
此時我們重新按F5進行編譯,可以發現界面分辨率正常了,瞬間好看不少有沒有。
下篇文章,我們就開始正式編碼了,或許可以趕上中秋給大家拜個晚年了,哈哈哈
如果各位覺得我寫的對你有那么一點點幫助,歡迎一鍵三連~感激不盡~
有不到一個月,牛年春節就快到了。每到這個時候,各種新年的祝福語字體設計也大受歡迎,將這些祝福語用在海報、電商設計中,非常方便。
今天,我在站酷上看到了一組牛年祝福字體設計,覺得非常棒!關鍵是,這組字體是免費可商用的!下面,我就把這組字體分享給大家。
作者:志明劉
原文地址:
https://www.zcool.com.cn/work/ZNTAxNzQzODA=.html
網盤鏈接:
pan.baidu.com/s/1W8KgNv6cCWyIHJ9PPQvVCw
提取碼:6666
這些字體都是手寫的書法字體,有些字體加入了創意組合,增強了設計感和整體性。
如果你喜歡的話,就拿去吧!
最后,再次感謝原作者的辛勤付出!
*請認真填寫需求信息,我們會在24小時內與您取得聯系。