『壹』 c#里panel 使用方法
你這個應該用mdi 窗叢頌唯體實現吧
用panel沒試過 不滲培過你櫻空可以在menu的點擊事件里寫上 點擊的時候打開panel
『貳』 c#panel內窗體控制panel切換另一個窗體
在 C# 中,可以使用 Panel 控制項來實現在一個窗體中切換另一個窗體的效果。
首先需要創建一個 Panel 控制項,用來容納其他的窗體。接下來,在點擊按鈕或執行其他操作時,使用 Panel.Controls.Clear() 方法清液滲空 Panel 中的控制項,然後使用 Panel.Controls.Add() 方法將新的窗體加入。
public partial class Form1 : Form
{
private Form2 form2;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
panel1.Controls.Clear();
form2 = new Form2();
panel1.Controls.Add(form2);
form2.Show();
}
}
上面這段代碼中,當點擊按鈕 button1 時,會先鬧源脊清空 panel1 中的控制項,然後創建一個新的 Form2 實例,並將其添加到 panel1 中。這樣就可以在點擊按鈕時切換 Form2 和之前的窗體了。
值得注意的是,如果不是只切換一次 Form2 是否要在每次切換後重新 new 出來。
同樣的也可以在第一次打開窗體的時候就加入到 panel裡面,並且將窗體設置為隱藏。在需要的時候只需要將窗體顯示出來即可。裂猜
『叄』 在c#中,panel主要用來當做控制項的容器來使用
disigner文件里搜索一下兩個panel的名字,找到panel1.add()這樣的方法,其中亮野如果有panel2的話,刪除那一行。罩雀然後找到最物鍵早後,會有this.controls.add()方法,在裡面加上panel2就可以了。
原因其實是一個panel被當成了另一個子控制項了。
『肆』 panel控制項的使用
例如有3個panel,分別為panel1,panel2,panel3
如果重疊的話,租御把他們的大小設置為相同大小,直接通過雀罩上下層來控制即可,例如想要panel2顯示頃型鬧出來,就用
panel2.BringToFront;
要是想panel1顯示則用panel1.BringToFront即可
不需要用visible來控制的;
『伍』 JAVA中的JPanel怎麼使用呢
使用方法:
JPanel可以為添加到窗體中的輕型控制項提供通用的容器。默認情況下,面板容器不會向控制項添加任何除自身背景之外的顏色,但是,可以輕松地向其添加邊框(borders)並根據需要改制樣式。
在大多數Java GUI外觀體驗(look and feel)中,面板容器默認是不透明。不透明的面板容器跟普通的目錄窗格功能差別不大,並且可以有效幫助樣式改進。
設置圖層管理器
和其他容器(container)一樣,面板容器panel也使用布局管理器(Layout Manager)對添加到容器中的組件(compnent)進行定位和設置尺寸大小。
默認情況下亮沒,面板容器的布局管理器是FlowLayout(流式布局)類的一個實例,這個類對放置在容器中的空間按行進行布局(從左到右諸行排列)。在創建面板容器時,你可以輕松地使用任何其他
布局管理器通過調用setLayout方法或指定一個布局管理器。
如下是一個在創建面板容器時設置圖層管理器的例子:
JPanel p=new JPanel(new BorderLayout());
但這種方法不能用在BoxLayout(盒子布局)中,因為BoxLayout構造器需要一個預留(pre-existing)容器。如下所示:
JPanel p=new JPanel();
p.setLayout(new BoxLayout(p,BoxLayout.PAGE_AXIS));
添加控制項
向面板容器中添加組件時使用add()方法,而向add()方法中傳遞的參數決定於該面板容器使用哪個布局管理器。當所用的布局管理器是FlowLayout,BoxLayout,GridLayout,或SpringLayout時,像通常那樣向add()方法傳遞單一的參數即可,如下所示:
aFlowPanel.add(aComponent);
aFlowPanel.add(anotherComponent);
而當布局管理器為BorderLayout時,還需要提供另一個參數來指定添加到容器中控制項的位置,例如:
aBorderPanel.add(aComponent,BorderLayout.CENTER);
aBorderPanel.add(anotherComponent,BorderLayout.PAGE_END);
對於GridBagLayout布局管理器,可以使用上述任一方法,但必須以某種方式對每個組件指定GridBagConstraints,例如:
JPanel pane=new JPanel(new GridBagLayout());
GridBagConstraints c=new GridBagConstraints();
警告
Swing不是線程安全的。
此類的序列化對象與以後的Swing版本不兼容。當前序列化支持適用於短期存儲,或適用於在運行相同Swing版本的應用程序之間進行RMI(Remote Method Invocation,遠程方法調用)。
JPanel一個面板也是一個容器JPanel Pan=new JPanel();
Pan.setLayout(null);//設置為空布局也就是自由布局
Pan.add(控制項);//添加控制項
JPanel是java圖形化界面中最常使用的容器。實例:在窗體中添加一個藍色的面板
//PanelDemo.java
import javax.swing.*;
import java.awt.*;//引入AWT包,因為要使用到顏色類
class PanelDemo{
public static void main(String[]args)throws Exception
{JFrame f=new JFrame("第一個Java窗口");
f.setSize(300,200);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
f.setResizable(false);
f.setLocationRelativeTo(null);
f.setLayout(null);//設置窗體布局為空布局
JPanel p=new JPanel();//實例化一個面板
//設置面板背景色為藍色,如果不引入敬岩納AWT包,程序將出錯,可以試試看
p.setBackground(Color.BLUE);
p.setSize(100,100);//設置面板對象大小
f.getContentPane().add(p);//將面板添加到窗體中
//如果使用下面添加面板的方法,面板將布滿整個窗口,可以試試看
//f.setContentPane(p);
}
}
『陸』 extjs的panel組件怎麼使用
//html代碼
<div id="container">
</div>
//js代碼
var p = new Ext.Panel({
title: 'My Panel',//標題
collapsible:true,//右上角上的那個收縮按鈕,設為false則不顯示
renderTo: 'container',//這個panel顯示在html中id為container的層中
width:400,
height:200,
html: "<p>我是內容,我包含的html可以被執行!</p>"//panel主體中的內容,可以執握吵行html代碼
});
因為panel組件的子類組件包括TabPanel,GridPanel,FormPanel,TreePanel組件,所以非常有段告侍必要介紹Panel組件的配置參數和相關的屬性、方法。
//配置參數(只列舉部分常用參數)
1.autoLoad:有效的url字元串,把那個url中的body中的數據載入顯示,但是可能沒有樣式和js控制,只是html數據
2.autoScroll:設為true則內容溢出的時候產生滾動條,默認為false
3.autoShow:設為true顯示設為"x-hidden"的元素,很有必要,默認為false
4.bbar:底部條,顯示在主體內,//代碼:bbar:[{text:'底部工具欄bottomToolbar'}],
5.tbar:頂部條,顯示在主體內,//代碼:tbar:[{text:'頂部工具欄topToolbar'}],
6.buttons:按鈕集合,自動添加到footer中(footer參數,顯示在主體外)//代碼:buttons:[{text:"按鈕位於footer"}]
7.buttonAlign:footer中按鈕的位置,枚舉值為:"left","right","center",默認為right
8.collapsible:設為true,顯示右上角的收縮按鈕,默認為false
9.draggable:true則可拖動,但需要你提供操作過程,默認為false
10.html:主體的內容
11.id:id值,通過id可以找到這個組件,建議一般加上這個id值
12.width:寬度
13.height:高度
13.title:標題
14.titleCollapse:友爛設為true,則點擊標題欄的任何地方都能收縮,默認為false.
15.applyTo:(id)呈現在哪個html元素裡面
16.contentEl:(id)呈現哪個html元素裡面,把el內的內容呈現
17.renderTo:(id)呈現在哪個html元素裡面
//關於這三個參數的區別(個人認為:applyTo和RenderTo強調to到html元素中,contentEl則是html元素到ext組件中去):
英文如下(本人英語poor,不敢亂翻譯):
contentEl - This config option is used to take existing content and place it in the body of a new panel. It is not going to be the actual panel itself. (It will actually the innerHTML of the el and use it for the body). You should add either the x-hidden or the x-hide-display CSS class to prevent a brief flicker of the content before it is rendered to the panel.
applyTo - This config option allows you to use pre-defined markup to create an entire Panel. By entire, I mean you can include the header, tbar, body, footer, etc. These elements must be in the correct order/hierarchy. Any components which are not found and need to be created will be autogenerated.
renderTo - This config option allows you to render a Panel as its created. This would be the same as saying myPanel.render(ELEMENT_TO_RENDER_TO);
哪位大人幫忙翻譯下...
考慮到入門,方法事件會在以後的文章中以實例穿插。
1.可拖動的panel實例
下面我們做個可拖動panel例子來熟悉下panel這個最基本的組件.
//html代碼
..無..
//下面創建一個允許拖動的panel,但是拖動的結果不能保存
var p=new Ext.Panel({
title: 'Drag me',
x: 100,
y: 100,
renderTo: Ext.getBody(),//x,y,renderTo:Ext.getBody()初始化panel的位置
floating: true,//true
frame: true,//圓角邊框
width: 400,
height: 200,
draggable:true
}).show();//在這里也可以不show()
但是還不能拖到其他的地方,我們需要改寫draggable:
draggable: {
insertProxy: false,//拖動時不虛線顯示原始位置
onDrag : function(e){
var pel = this.proxy.getEl();
this.x = pel.getLeft(true);
this.y = pel.getTop(true);//獲取拖動時panel的坐標
},
endDrag :
function(e){
this.panel.setPosition(this.x, this.y);//移動到最終位置
}
}
實現了可保存的拖動
拖動的時候陰影還在原位置,我們再在draggable中的onDrag事件中添加代碼:
var s = this.panel.getEl().shadow;
if (s) {
s.realign(this.x, this.y, pel.getWidth(), pel.getHeight());
}
//shadow的realign方法的四個參數,改變shadow的位置大小屬性
最後這個可拖動的panel的代碼為:
var p=new Ext.Panel({
title: 'Drag me',
x: 100,
y: 100,
renderTo: Ext.getBody(),
floating: true,
frame: true,
width: 400,
height: 200,
draggable: {
insertProxy: false,
onDrag :
function(e){
var pel = this.proxy.getEl();
this.x = pel.getLeft(true);
this.y = pel.getTop(true);
var s = this.panel.getEl().shadow;
if (s) {
s.realign(this.x, this.y, pel.getWidth(), pel.getHeight());
}
},
endDrag : function(e){
this.panel.setPosition(this.x, this.y);
}
}
})
//效果圖片我就不貼出來了
2.帶頂部,底部,腳部工具欄的panel
var p=new Ext.Panel({
id:"panel1",
title:"標題",
collapsible:true,
renderTo:"container",
closable:true,
width:400,
height:300,
tbar:[{text:"按鈕1"},{text:"按鈕2"}], //頂部工具欄
bbar:[{text:"按鈕1"},{text:"按鈕2"}], //底部工具欄
html:"內容",
buttons:[{text:"按鈕1"},{text:"按鈕2"}] //footer部工具欄
});
我們已經在各種工具欄上添加了按鈕,但是卻沒有激發事件,下面我們來添加按鈕事件代碼:
tbar:[{text:"按鈕1",handler:function(){Ext.MessageBox.alert("我是按鈕1","我是通過按鈕1激發出來的彈出框!")}},{text:"按鈕2"}],
//改寫tbar,添加handler句柄,點擊頂部工具欄上按鈕1,彈出提示框,效果圖大家想像下,就不貼出來了
當然,一般情況下,我們只要一個工具欄,這里只是為了演示!
3.panel工具欄
//添加下面的代碼到panel配置參數中
tools:[{id:"save"},{id:"help"},{id:"up"},{id:"close",handler:function(){Ext.MessageBox.alert("工具欄按鈕","工具欄上的關閉按鈕時間被激發了")}}],
//id控制按鈕,handler控制相應的事件
//id的枚舉值為:
toggle (collapsable為true時的默認值)
close
minimize
maximize
restore
gear
pin
unpin
right
left
up
down
refresh
minus
plus
help
search
save
print
『柒』 C# 窗體應用程序中的Panel控制項有什麼作用,怎麼使用啊
是用於窗體布局使用慎辯尺,一般有兩種效果,第一:將窗寬高體的控制項分組,當你的窗體最大化的時候設這灶兆Panel的錨,使面板內部的控制項按比例分布到窗體各處。第二,在窗體有多組單選按鈕的時候,就使用Panel來區分,那些單選按鈕是一組,例如:窗體有一組性別,和一組所在區域,則添加兩個面板,將男女放在一個panel,將一期,二期放在另一個panel里,程序自動按panel分組
『捌』 panelcheck軟體如何使用
zoukankan html css js c++ java
Panel控制項的使用
我們對控制項進行分組的原因不外乎三個:
1、為了獲肆轎得清晰的用戶界面而將相關的窗體元素進行可視化分組。
2、編程分組,如對單選按鈕進行分組。
3、為了在設計時將多個控制項作為一個單元來移動。
在vb.net中,有GroupBox、Panel、TabControl這三個控制項可以實現上面所提到的三個分組目的,所以我們稱它們為分組控制項。
前面我們了解了GroupBox(控制項組)控制項(vb.net入門——分組控制項:GroupBox控制項的使用)的使用,這里我們將來看看下怎麼使用Panel(也稱面板)控制項。實際上,Panel很類似於GroupBox,其區別是:只有GroupBox控制項可以顯示標題,而只有Panel控制項可以有滾動條。
Panel控制項在工具箱中的圖標如圖所示:。
一、Panel控制項的常用屬性
1、Anchor和Dock:這兩個屬性是所有有用戶界面的控制項都有的定位屬性。
2、Name屬性:標識控制項的對象名稱
3、BorderStyle屬性:指示Panel控制項的邊框樣式,共有三個枚舉值:
BorderStyle.None(默認)—無邊框。
BorderStyle.Fixed3D—三維邊框
BorderStyle.FixedSingle—單行邊框
此外還可以通過BackColor、BackgroundImage屬性來改變Panel控制項的外觀。
4、Font和ForeColor屬性,用於改變Panel控制項內部文字的大小與文字的顏色,需要注意的時候,這里改變的是其內部控制項的顯示的Text屬性的文字外觀。
5、AutoScroll屬性:該屬性指示當控制項超出Panel顯示的區域時,是否自動出現滾動條,默認為False。
二、創建一組控制項
1、在窗體上放置Panel控制項。從工具箱中拖放一個Panel控制項到窗體上的合適位置,調整大小。
2、因為Panel控制項沒有Text屬性來標記自己,所以我們一般可以在它的上面添加一個Label控制項來標記它。
3、在Panel控制項內拖放其它需要的控制項,例如RadioButton控制項。
4、設置Panel控制項的外觀屬性。
4、設置示例
在窗體上設置兩個Panel控制項,分別用2個Label控制項來標記它們,每個Panel控制項中放置所需的RadioButton控制項。如圖一所示:
注意:兩個Panel控制項的AutoScroll屬性都缺棗設置為True了。
5、我們在拖動單個Panel控制項的時候,它內部的控制項也會隨著移動裂扮肆,以保持和Panel的相對位置不變。同理,刪除Panel控制項時,它所包含的所有控制項也會被刪除掉。
6、當我們調整Panel控制項所包含的控制項的Anchor和Dock屬性的時候,其參照物將不是Form窗體,而是Panel控制項了。
7、當AutoScroll 屬性為 True 的時候,在設計界面中我們也可以拉動出現的滾動條。
三、編程添加Panel控制項以及它所包含的控制項
動態添加控制項一般需要經過下面三個步驟:
1、創建要添加的控制項實例
2、設置新控制項的屬性。
3、將控制項添加到父控制項的 Controls 集合
『玖』 在c#中,panel主要用來當做控制項的容器來使用
是的 panel是面板,上面遲絕可以放其他檔辯控制項,拖進去就可碼蠢姿以,或者在designer里寫代碼 panel1.controls.add(控制項名);