當前位置:首頁 » 背景圖片 » winform窗體背景圖片
擴展閱讀
sci圖片可以ps嗎 2025-09-21 01:15:24
手機如何將原圖片縮小 2025-09-21 01:10:13
彝族年輕男人圖片 2025-09-21 00:36:26

winform窗體背景圖片

發布時間: 2022-08-14 20:54:27

『壹』 如何使Winform 窗體更換背景圖,其他窗體也能實時更換相同背景圖片

1.如果通過按鈕來切換圖片的話,則需要在對應的按鈕事件里切換圖片
切換圖片方式為
form.BackgroundImage = 命名空間.Properties.Resources.對應資源圖片名;
這個form可以是當前,也可以是其他窗體
2.需要定時切換圖片的話,則需要一個定時器Timer,設置它的定時觸發即可。

『貳』 用winform做窗口時想給窗口換背景圖片,就用了imagelist+button,但是得到的背景圖為什麼像素這么差

靠手工調成一樣大小怎麼行,你應該選擇圖片位置為填充或者拉伸才可以,默認的是平鋪

『叄』 winform 如何設置背景圖片

你是說某個控制項還是整個窗體的背景,若是窗體的話,在設計狀態下,點右鍵-》屬性,裡面有設置backcolor的和backgroundimage的,可以直接進行設置

『肆』 C# winform怎麼判斷窗體背景圖片

我建議你在給背景圖片設置背景的時候,比如在窗體load事件裡面給背景設置圖片
this.BackgroundImage=image.fromfile("第一頁.jpg");
然後你給這個背景圖片的Tag做一個標志,只有你能看懂的,比如你取圖片文件名,在文件名前面加一個@
this.BackgroundImage.Tag="@第一頁";
然後你在判斷的時候Tag取出去,把@去掉,然後再判斷。甚至於你直接把「第一頁.jpg」存入Tag都在要求不嚴格的情況下都是可以的。到這里應該明白怎麼做了吧

『伍』 請問Winform裡面怎麼單擊按鈕來改變窗體背景圖片(C#)

你可以在窗體上加個ImageList控制項 加上後該控制項出現在窗體設計模式的下面 點一下它 然後看右邊的屬性 有個屬性名為Images 點一下旁邊的按鈕 往裡面加你需要的圖片,可連續加圖片
然後回到你的按鈕事件里 例如:
int i=0;
private void button3_Click(object sender, EventArgs e)//滑鼠單擊按鈕事件
{
if (i > 2)//圖片數
i = 0;
this.BackgroundImage = imageList1.Images[i];
i++;

}

『陸』 C# winform改變窗體大小時背景圖片出現重疊怎麼解決

沒刷新過來吧

『柒』 我有兩張Winform主窗體的背景圖片,在運行時怎麼樣切換背景圖片,就像換皮膚一樣

C#winform中給mdi主窗體添加自定義背景圖片2011-07-06 16:05修改MDI窗口的主背景是MS不推薦的,但如果你需要可以使用下面的方法:

1——
原理:
MDI窗口有一個叫MdiClient的窗口對象作為主背景窗口,要修改MDI窗口的背景就是修改該MdiClient對象的背景

2——
關鍵:
如何獲得MdiClient對象

3——
方法:
MdiClient是作為MDI窗口的一個ChildControl的形式存在的,因此我們可以通過遍歷MDI窗口的Controls對象集來獲得

4——
示例:
下面的代碼把MDI窗口的主背景修改為蘭色(如果你有特別的處理請作相應的處理)

private System.Windows.Forms.MdiClient m_MdiClient;
public Form1()
{
//
// Windows 窗體設計器支持所必需的
//
InitializeComponent();
//
// TODO: 在 InitializeComponent 調用後添加任何構造函數代碼
//
int iCnt=this.Controls.Count;
for(int i=0;i<iCnt;i++)
{
if(this.Controls[i].GetType().ToString()=="System.Windows.Forms.MdiClient")
{
this.m_MdiClient=(System.Windows.Forms.MdiClient)this.Controls[i];
break;
}
}
this.m_MdiClient.BackColor=System.Drawing.Color.Blue;
}

具體的應用中,可以參考上面的代碼把背景修改為其他的顏色、用圖片平鋪、拉伸等,就象通過代碼修改非MDI窗口的背景一樣。

另外,具體應用時,可能要考慮把這些東西放置到Paint或erasebkground等事件。

c# 2.0 給MDI主窗口添加背景最簡單的辦法,4句代碼搞定

一、將MDI主窗口的IsMdiContainer設為 False,將背景圖片放到資源文件中,資源名為BackgroundImage
二、在MDI主窗口的構造函數中InitializeComponent();之後加下面4行代碼
MdiClient m = new MdiClient();
this.Controls.Add( m );
m.Dock = DockStyle.Fill;
m.BackgroundImage = Properties.Resources.BackgroundImage ;

using System;
using System.ComponentModel;
using System.Collections;
using System.Drawing;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;

namespace myBackgroundImage
{
/// <summary>
/// fat background MDI form (fbgMDIform),可定製Mdi主窗體背景。
/// </summary>
public class fbgMDIform:System.Windows.Forms.Form
{
private MDIbg_TypeList _mdibg_type;
private Image _mdibg_image;
private Image _mdibg_bgimage;

private MDIbg_AlignList _mdibg_align;
private MDIbg_ValignList _mdibg_valign;

private System.Windows.Forms.MdiClient bgMDIClient;

#region" 公共屬性 "

[Browsable(true),Description("背景圖片呈現風格:File填充,以截取右上角或重復出現的方式填滿整個工作區;Draw 拉伸,一張圖片拉伸後布滿工作區;Logo標志,一張圖片,其他屬性控制具體位置。"), Category("MDI背景擴展設置")]
public MDIbg_TypeList MDIbg_Type
{
get
{
object obj=_mdibg_type;
return (obj==null)?MDIbg_TypeList.File:(MDIbg_TypeList)obj;
}
set { _mdibg_type=value; }
}

[Browsable(true),Description("MDIContainer背景圖片"),Category("MDI背景擴展設置")]
public Image MDIbg_Image
{
get { return _mdibg_image; }
set { _mdibg_image=value; }
}

[Browsable(true),Description("MDIContainer第二背景圖片,MDIbg_Type設置為Logo時,此屬性對 應圖片以拉伸的形式在MDIbg_Image的下一層布滿工作區,若留空則由背景色替代。"), Category("MDI背景擴展設置")]
public Image MDIbg_bgImage
{
get { return _mdibg_bgimage; }
set { _mdibg_bgimage=value; }
}

[Browsable(true),Description("MDIbg_Image的左右對齊方式,取值為Left、Center、Right,MDIbg_Type設置為Logo時有效。"), Category("MDI背景擴展設置")]
public MDIbg_AlignList MDIbg_Align
{
get
{
object obj=_mdibg_align;
return (obj==null)?MDIbg_AlignList.Left:(MDIbg_AlignList)obj;
}
set { _mdibg_align=value; }
}

[Browsable(true),Description("MDIbg_Image的上下對齊方式,取值為Top、Middle、Bottom,MDIbg_Type設置為Logo時有效。"), Category("MDI背景擴展設置")]
public MDIbg_ValignList MDIbg_Valign
{
get
{
object obj=_mdibg_valign;
return (obj==null)?MDIbg_ValignList.Top:(MDIbg_ValignList)obj;
}
set { _mdibg_valign=value; }
}

#endregion

#region" 枚舉相關 "

//呈現風格枚舉
public enum MDIbg_TypeList:byte
{
File, //File填充,多張圖片重復後布滿工作區

Draw, //Draw拉伸,一張圖片拉伸後布滿工作區

Logo //Logo標志,一張圖片,其他屬性控制具體位置
}

//圖片左右對齊方式枚舉
public enum MDIbg_AlignList:byte
{
Left, //居左

Center, //居中

Right //居右
}

//圖片上下對齊方式枚舉
public enum MDIbg_ValignList:byte
{
Top, //居上

Middle, //居中

Bottom //居下

}

#endregion

public fbgMDIform()
{
this.SizeChanged += new System.EventHandler(this.MDI_Set);
this.Load+=new EventHandler(this.MDI_Set);

}

private void MDI_Set(object sender, System.EventArgs e)
{
if(this.IsMdiContainer)
{
foreach(System.Windows.Forms.Control myControl in this.Controls)
{
if(myControl.GetType().ToString() == "System.Windows.Forms.MdiClient")
{
bgMDIClient = (System.Windows.Forms.MdiClient)myControl;
break;
}
}

if(bgMDIClient.ClientSize.Width>0&&bgMDIClient.ClientSize.Height>0&&MDIbg_Image!=null)
{

System.Drawing.Bitmap myImg = new Bitmap(bgMDIClient.ClientSize.Width,bgMDIClient.ClientSize.Height);
System.Drawing.Graphics myGraphics = System.Drawing.Graphics.FromImage(myImg);
myGraphics.Clear(this.BackColor);

switch (this.MDIbg_Type)
{
case MDIbg_TypeList.File:
//填充
myImg = new Bitmap(this.MDIbg_Image);
myGraphics = System.Drawing.Graphics.FromImage(myImg);
myGraphics.Clear(this.BackColor);
myGraphics.DrawImage(this.MDIbg_Image,0,0,myImg.Width+1,myImg.Height+1);
bgMDIClient.BackgroundImage =myImg;
myGraphics.Dispose();
break;
case MDIbg_TypeList.Draw:
//拉伸
myGraphics.DrawImage(this.MDIbg_Image,0,0,myImg.Width+1,myImg.Height+1);
bgMDIClient.BackgroundImage = myImg;
myGraphics.Dispose();
break;
case MDIbg_TypeList.Logo:
//標志
myGraphics.Clear(this.BackColor);

if(this.MDIbg_bgImage!=null)
{
myGraphics.DrawImage(this.MDIbg_bgImage,0,0,myImg.Width+1,myImg.Height+1);
}
//定位
int myX,myY;
switch(this.MDIbg_Align)
{
case MDIbg_AlignList.Left:
myX=0;
break;
case MDIbg_AlignList.Right:
myX=myImg.Width-MDIbg_Image.Width;
break;

case MDIbg_AlignList.Center:
myX=(myImg.Width-MDIbg_Image.Width)/2;
break;
default:
myX=0;
break;
}
switch(this.MDIbg_Valign)
{
case MDIbg_ValignList.Top:
myY=0;
break;
case MDIbg_ValignList.Bottom:
myY=myImg.Height -MDIbg_Image.Height;
break;

case MDIbg_ValignList.Middle:
myY=(myImg.Height -MDIbg_Image.Height)/2;
break;
default:
myY=0;
break;
}
myGraphics.DrawImage(this.MDIbg_Image,myX,myY,this.MDIbg_Image.Width,this.MDIbg_Image.Height);
bgMDIClient.BackgroundImage = myImg;
myGraphics.Dispose();
break;
default:
//填充
bgMDIClient.BackgroundImage =this.MDIbg_Image;
break;
}
}
}
}

}
}
放在類庫中編譯,然後在程序中引用

『捌』 c#如何實Winform窗體背景圖片化

卡是因為你每次加在控制項都會重新載入背景圖片,你需要設置圖片緩存(直接從內存加在比從文件讀取快很多),或是直接重寫窗口的繪制方法,從而實現夾在控制項不刷新背景。。。

『玖』 c#winform如何更改背景圖片

更改form的BackgroundImage屬性。
選中要操作的form控制項,在屬性選項卡中找到BackgroundImage屬性,點擊打開選擇資源對話框,將要用到的背景圖片導入到本地資源或項目資源。導入成功後選中背景圖片,點擊確定,即可完成form的背景圖片的更換。