c winform如何讓picturebox不顯示影象

2021-04-01 08:03:50 字數 5530 閱讀 4376

1樓:匿名使用者

可以picturebox.hide()或者清除baiimage屬性。

如果還不du行,看看zhiinitialimage是不是有值,也清掉dao

:專pictbox.initialimage = null;

如果還不行,清掉後再呼叫一屬次refresh()方法pictbox.refresh()

2樓:匿名使用者

picturebox..parent = null;

這樣就可以把**隱藏啦

3樓:匿名使用者

設定picture不顯示**,可以將picturebox.imagesource 置成一個空的即可。

4樓:最後的仙人

picturebox1.image=null;行不?

5樓:抗裕慎雪晴

1.picturebox1.anchor

=anchorstyles.top

|anchorstyles.bottom

|anchorstyles.left

|anchorstyles.right);

2.**物件image獲取**的大小改變窗體大小。

form1.width

+=image.width;

form1.height

+=image.height;

想問一下。這個內窗體是不是容就只用來顯示**?

c#winform中如何讓picturebox的背景透明

6樓:匿名使用者

picturebox的backcolor屬性設定成color.transparent

然後設定picturebox.parent = 父容器;

一般地,在.***中,多個控制元件之間重疊時是不會實現透明效果的。 如下圖所示:

下面開始介紹這幾種解決方案:

////// picturebox透明示例

/// date:2012-3-4 07:25:56

///public partial class form1 : form

private void pichair_mousedown(object sender, mouseeventargs e)

// 使用不安全的指標

// 返回不透明的**路徑

private unsafe graphicspath notegraphicspath(image image)

else if (start > -1 && (point[0] == p0 && point[1] == p1 && point[2] == p2))

// 如果之前的點是不透明且是最後一個點

if (x == picwidth - 1 && start > -1)

point += 3;

}point += offset;

}bitmap.unlockbits(bitmapdata);

bitmap.dispose();

return graphicspath;

}///

/// 需要設定透明效果的控制元件呼叫該方法

////// 要設定透明效果的控制元件

/// 控制元件的**

public void setpictureboxtransparent(control control, image image)

}需要新增2個名稱空間:

using system.drawing.drawing2d;

using system.drawing.imaging;

執行後效果如下所示:

注意:由於本示例有不安全的**[關鍵字unsafe],需要在專案屬性中設定"允許不安全**",如下圖:

第二種方案:使用gdi +中繪製影象與透明

這種方案是需要我使用gdi+繪製影象,具體步驟如下所示:

1. 需要新增兩個元件類:

pictureboxmodel.cs 和 panelextend.cs

panelextend.cs 中**:

using system;

using system.drawing;

using system.windows.forms;

using system.drawing.drawing2d;

////// panel擴充套件類

///public abstract class panelextend : panel

}public panelextend()

protected override void onpaintbackground(painteventargs pevent)

protected override void onpaint(painteventargs e)

protected abstract void ondraw();

}pictureboxmodel.cs  **:

using system;

using system.collections.generic;

using system.text;

using system.drawing;

////// 實現繪製影象

///public class pictureboxmodel : panelextend

protected override void ondraw()

}實現效果圖如下所示:

7樓:匿名使用者

這個只需要設定控制元件的forecolor為transparent就可以了。

c# winform怎麼把picturebox顯示的**放到資料庫中和從資料庫中讀取出來顯示到picturebox中

8樓:劉斌斌

你最好用 地址 放**。 二進位制的話給你

這是上傳** **:

stream aa;

openfiledialog opg = new openfiledialog();

if (opg.showdialog() == dialogresult.ok)

string con = "data source=.;uid=sa;pwd=;database=master";

sqlconnection conn = new sqlconnection(con);

byte bytes = new byte[aa.length];

aa.read(bytes, 0, (int)aa.length);

conn.open();

string sql1 = string.format("insert into 資料庫** values('',@phone)", 使用者名稱);

sql***mand cmd1 = new sql***mand(sql1, conn);

cmd1.parameters.add("@phone", sqldbtype.image).value = bytes;

cmd1.executenonquery();

conn.close();

messagebox.show( "使用者名稱的**已上傳");

從資料庫得到二進位制**,轉化為pictrue:

string sql = "select ** from 資料庫** where name=使用者名稱";

sqlconnection conn = new sqlconnection("data source=.;uid=sa;pwd=****;database=master");

sql***mand cmd = new sql***mand(sql,conn);

conn.open();

byte bs = (byte)r["**"];

memorystream ms = new memorystream(bs, true);

ms.write(bs, 0, bs.length);

picturebox1.image = new bitmap(ms, true);

ms.dispose();

conn.close();

最重要要能理解**,懂了就簡單了。 希望採納。

9樓:匿名使用者

//儲存**:

sqlconnection conn = new sqlconnection(@"data source=.;uid=sa;pwd=;database=master");

conn.open();

sql***mand cmd = new sql***mand("insert into image values(@i)", conn);

byte ib = new byte[60000];

filestream fs = new filestream(this.openfiledialog1.filename.

tostring(), filemode.open, fileaccess.read);

fs.read(ib, 0, 60000);

cmd.parameters.add("@i", sqldbtype.image, (int)fs.length);

cmd.parameters["@i"].value = ib;

cmd.executenonquery();

conn.close();

messagebox.show("儲存成功");

//顯示**:

sqlconnection conn = new sqlconnection(@"data source=.;uid=sa;pwd=;database=master");

conn.open();

sql***mand cmd = new sql***mand("select image1 from image", conn);

sqldatareader reader = cmd.executereader();

reader.read();

while (reader.read()) }

c# winform開發中用picturebox 只能顯示大**一部分,如何生成適合picturebox的**並且保證不失真?有知

10樓:匿名使用者

如果你不是要求修改**,僅僅是現實的話可以設定picturebox的sziemode屬性

比如 this.picturebox1.sizemode = system.windows.forms.pictureboxsizemode.zoom;

11樓:雲嵐之月

你說的這種情況我也遇見過,當時是做影象濾波的時候 碰到的 我用的是vs2010,在picturebox的屬性裡 有sizemode 可以改變**的大小,但是值得注意的是,當你在進行影象處理的時候,vs只會處理 預設的picturebox normal條件下的**部分,我當時就是把picturebox 屬性裡面的size 修改的很大,至到適合影象的大小,這樣影象處理的效果就能出來了,173116265,我的**號,你要是需要源**,我把我當時編好的給你,希望對你有用。

c winform如何批量更新資料庫資料

可以把查詢到的資料存放到一張記憶體表datatable中,然後拖一個datagridview控制元件並繫結datasource,然後在datagridview中編輯完成後利用commandbuilder返回給資料庫 建議這個用執行緒,然後分別對這100萬條資料分批處理。1 分批量更新 2 用觸發器 ...

cwinform在窗體中如何設定另窗體的

方法有很多,下拉給你列幾個 首先介紹最粗暴的方法,修改控制元件的訪問修飾符。不建議使用此法 public system.windows.forms.textbox textbox1 在呼叫時就能直接訪問 form1 frm new form1 frm.textbox1.text 方法1 frm.sh...

如何讓谷歌Chrome執行OA,如何讓ie呼叫chrome核心

可能你們得oa系統是針對ie編寫所以需要用一款雙核瀏覽器,如楓葉瀏覽器。可以隨時切換瀏覽器核心。應該讓你的軟體開發商來解決,oa對於瀏覽器的相容性是有一些問題的。裝個ie外掛就可解決 谷歌瀏覽器怎麼打不開金蝶oa系統 一些辦公oa的版本比較老,不支援非ie核心瀏覽器。建議試試國內的雙核瀏覽器,相容模...