private SystemWindowsFormsMdiClient m_MdiClient;public Form1(){//// Windows 窗体设计器支持所必需的//InitializeComponent();//// TODO: 在 InitializeComponent 调用后添加任何构造函数代码//int iCnt=thisControlsCount;for(int i=0;i<iCnt;i++){if(thisControls[i]GetType()ToString()==SystemWindowsFormsMdiClient){thism_MdiClient=(SystemWindowsFormsMdiClient)thisControls[i];break;}}thism_MdiClientBackColor=SystemDrawingColorBlue;}具体的应用中,可以参考上面的代码把背景修改为其他的颜色、用平铺、拉伸等,就象通过代码修改非MDI窗口的背景一样。另外,具体应用时,可能要考虑把这些东西放置到Paint或erasebkground等事件。c# 20 给MDI主窗口添加背景最简单的办法,4句代码搞定一、将MDI主窗口的IsMdiContainer设为 False,将背景放到资源文件中,资源名为BackgroundImage二、在MDI主窗口的构造函数中InitializeComponent();之后加下面4行代码MdiClient m = new MdiClient();thisControlsAdd( m );mDock = DockStyleFill;mBackgroundImage = PropertiesResourcesBackgroundImage ;using System;using SystemComponentModel;using SystemCollections;using SystemDrawing;using SystemDrawingImaging;using SystemDrawingDrawing2D;namespace myBackgroundImage{/// <summary/// fat background MDI form (fbgMDIform),可定制Mdi主窗体背景。/// </summary
在js中,我们时常用到用iframe做系统框架,在子页面也,父页面之间的值传递是一个问题,下面是js获取父窗体和子窗体的对象js:
1在iframe子页面中获取父页面的元素:
a>windowparentdocument这个是获取父页面document中的对象;
b>如果要获取父页面js中的方法:windowparentxxxx();xxxx()为方法;
2在父页面中获取iframe子页面中的元素:
a>
var child =
documentgetElementByIdx_x("mainFrame")contentWindow;//mainFrame这个id是父页面iframe的id
childdocument;//获取子页面中的document对象;
直接改成parentdocumentgetElementById("NO")value = documentgetElementById("no")value;
其中:parentdocumentgetElementById("NO")value就是得到父窗口id为NO的表单值!
objclientWidth //获取元素的宽度
objclientHeight //元素的高度
objoffsetLeft //元素相对于父元素的left
objoffsetTop //元素相对于父元素的top
objoffsetWidth //元素的宽度
objoffsetHeight //元素的高度
区别:
clientWidth = width + padding
clientHeight = height + padding
offsetWidth = width + padding + border
offsetHeight = width + padding + border
offset比client多了border的宽度
//获取元素的纵坐标(相对于窗口)
function getTop(e){
var offset=eoffsetTop;
if(eoffsetParent!=null) offset+=getTop(eoffsetParent);
return offset;
}
//获取元素的横坐标(相对于窗口)
function getLeft(e){
var offset=eoffsetLeft;
if(eoffsetParent!=null) offset+=getLeft(eoffsetParent);
return offset;
}
//获取元素的纵坐标(相对于窗口)
function getTop(e){
var offset=eoffsetTop;
if(eoffsetParent!=null) offset+=getTop(eoffsetParent);
return offset;
}
//获取元素的横坐标(相对于窗口)
function getLeft(e){
var offset=eoffsetLeft;
if(eoffsetParent!=null) offset+=getLeft(eoffsetParent);
return offset;
}
JS子窗口调用父窗口的方法:
框架(iframe)形式,这时用到是windowparent, windowparent能获取一个框架的父窗口或父框架。顶层窗口的parent引用的是它本身。可以用这一点特性来判断这个窗口是否是顶层窗口。详情如下:
1、1html代表的是父窗口
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN" "<html xmlns="
<head>
<meta
2、2html代表的子窗口
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN" "<html xmlns="
<head>
<meta ;
这时在子窗口(iframe窗口)所做的改变,会改变父窗口中username的值。
在父窗口中获取iframe中的元素
1、
格式:windowframes["iframe的name值"]documentgetElementByIdx_x("iframe中控件的ID")click();
实例:windowframes["ifm"]documentgetElementByIdx_x("btnOk")click();
2、
格式:
var obj=documentgetElementByIdx_x("iframe的name")contentWindow;
var ifmObj=objdocumentgetElementByIdx_x("iframe中控件的ID");
ifmObjclick();
实例:
var obj=documentgetElementByIdx_x("ifm")contentWindow;
var ifmObj=objdocumentgetElementByIdx_x("btnOk");
ifmObjclick();
在iframe中获取父窗口的元素
格式:windowparentdocumentgetElementByIdx_x("父窗口的元素ID")click();
实例:windowparentdocumentgetElementByIdx_x("btnOk")click();
jquery
在父窗口中获取iframe中的元素
1、
格式:$("#iframe的ID")contents()find("#iframe中的控件ID")click();//jquery 方法1
实例:$("#ifm")contents()find("#btnOk")click();//jquery 方法1
2、
格式:$("#iframe中的控件ID",documentframes("frame的name")document)click();//jquery 方法2
实例:$("#btnOk",documentframes("ifm")document)click();//jquery 方法2
在iframe中获取父窗口的元素
格式:$('#父窗口中的元素ID', parentdocument)click();
实例:$('#btnOk', parentdocument)click();
父窗获取子窗口的IFrame中的JS方法
一、父窗口调用iframe子窗口方法
1、HTML语法:<iframe name="myFrame" src="childhtml"></iframe>
2、父窗口调用子窗口:myFramewindowfunctionName();
3、子窗品调用父窗口:parentfunctionName();
简单地说,也就是在子窗口中调用的变量或函数前加个parent就行
4、父窗口页面源码:
复制代码代码如下:
<html>
<head>
<script type="text/javascript">
function say() {
alert("parenthtml------>I'm at parenthtml");
}
function callChild()
{
//documentframes("myFrame")f1();
myFramewindowsay();
}
</script>
</head>
<body>
<input type=button value="调用childhtml中的函数say()" onclick="callChild()">
<iframe name="myFrame" src="childhtml"></iframe>
</body>
</html>
5、子窗口页面:
复制代码代码如下:
<html>
<head>
<script type="text/javascript">
function say()
{
alert("childhtml--->I'm at childhtml");
}
function callParent() {
parentsay();
}
</script>
</head>
<body>
<input type=button value="调用parenthtml中的say()函数" onclick="callParent()">
</body>
</html>
二、iframe 父窗口和子窗口相互的调用方法
1、IE中使用方法:
父窗口调用子窗口:iframe_IDiframe_document_objectobject_attribute = attribute_value
例子:onClick="iframe_textmyH1innerText='>
以上就是关于js如何获取父窗口下的所有子窗口全部的内容,包括:js如何获取父窗口下的所有子窗口、JS如何获取对象的父对象(非文档对象)、js子窗口如何得到父窗口中某表单的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)