问题描述
我用一个窗体加入了很多个Panel在Load方法里:privatevoidMainBody_Load(objectsender,System.EventArgse){this.palThree.Visible=false;//让第三个面板隐藏this.palOne.Dock=DockStyle.Fill;//让第一个面板全屏}在按到菜单按钮时的方法:privatevoidmenuItem2_Click(objectsender,System.EventArgse){this.palThree.Visible=true;//让第三个面板显示this.palOne.Visible=false;//让第一个面板隐藏this.palThree.Dock=DockStyle.Fill;}注:面板里有背景图,里面不止这两个面板,有很多个,但为什么先前的都有显示背景,而现在的都没有,重亲拉个面板也一样,随便拉个控件设置背景都显示不出来。这是什么回事????哪位高手告诉我。。。谢谢
解决方案
解决方案二:
如果修改颜色就可以,插入图片就不可以!!
解决方案三:
妈呀,whocanhelpme!!
解决方案四:
没碰到过.还有不能设背景的?
解决方案五:
this.palThree.BrintToFront
解决方案六:
用了4楼的方法,还是不行!!!让它显示在最前顶层时,panel能显示,但是没背景图
解决方案七:
贴代码.肯定你哪里设掉了.否则不可能不显示的,从来没碰见过
解决方案八:
//四个队的分数MarkpOne=newMark();MarkpTwo=newMark();MarkpThree=newMark();MarkpFour=newMark();privatevoidMainBody_Load(objectsender,System.EventArgse){this.palTwo.Visible=false;//让第二个面板隐藏this.palThree.Visible=false;//让第三个面板隐藏this.palOne.Dock=DockStyle.Fill;//让第一个面板全屏this.MarkReadLine();//读取Mark.xrl中的分数//将分数显示在lab中this.labOne.Text=pOne.mark.ToString();this.labTwo.Text=pTwo.mark.ToString();this.labThree.Text=pThree.mark.ToString();this.labFour.Text=pFour.mark.ToString();this.isBtnEnabled(false);//在未进入比赛前,让加减分的按钮不可用}privatevoidisBtnEnabled(boolflag)//在未进入比赛前,让加减分的按钮可/不可用{this.btnOneAdd.Enabled=flag;this.btnOneAec.Enabled=flag;this.btnTwoAdd.Enabled=flag;this.btnTwoAec.Enabled=flag;this.btnThreeAdd.Enabled=flag;this.btnThreeAec.Enabled=flag;this.btnFourAdd.Enabled=flag;this.btnFourAec.Enabled=flag;}privatevoidpalOne_DoubleClick(objectsender,System.EventArgse){this.palOne.Visible=false;//让第一个面板隐藏this.palTwo.Visible=true;//让第二个面板显示this.palTwo.Dock=DockStyle.Fill;//让第二个面板全屏this.isBtnEnabled(true);//让加减分的按钮可用}privatevoidZeroTs(stringband){MessageBox.Show(band+"队已无分数可减","提示");}privatevoidMarkReadLine()//读取Mark.xrl文件中的分数{if(!File.Exists(Application.StartupPath+@"Mark.xrl"))//如果没有分数文件,则初始化分数,返回return;FileStreamfs=newFileStream("Mark.xrl",FileMode.Open,FileAccess.Read);//读出txt文件,且设置为只读模式StreamReaderfile=newStreamReader(fs,Encoding.GetEncoding("gb2312"));//将读出的数据转换为中文this.pOne.mark=int.Parse(file.ReadLine());this.pTwo.mark=int.Parse(file.ReadLine());this.pThree.mark=int.Parse(file.ReadLine());this.pFour.mark=int.Parse(file.ReadLine());}privatevoidMarkWrite()//将分数写入Mark.xrl文件中{StreamWritersw=newStreamWriter("Mark.xrl");sw.Write(this.pOne.mark.ToString()+"rn");sw.Write(this.pTwo.mark.ToString()+"rn");sw.Write(this.pThree.mark.ToString()+"rn");sw.Write(this.pFour.mark.ToString());sw.Close();}int_vis=1;//用来在屏幕上显示第几道题的计时器int_title=1;//每次点击“下一题”时会递增,用来计算第几道题的计时器privatestring_key="";privatestringsubject=Application.StartupPath+@"Subject第一环节个人必答题.txt";//题库privatevoidbtnNext_Click(objectsender,System.EventArgse){this.MediaSound.URL="Sound\出题.wav";//发出出题声this.tmeTime.Enabled=false;//计时器暂停this._time=_sbTime;//20秒时间复位this.labTime.Text=this._time.ToString();//显示复位时间this.btnTime.Text="开始计时";//按钮变化this.labTime.ForeColor=white;//计时器颜色变白//将答案的lab复位,因为显示正确答案后lab已改变this.labA.ForeColor=Color.Black;this.labA.Font=fontly;this.labB.ForeColor=Color.Black;this.labB.Font=fontly;this.labC.ForeColor=Color.Black;this.labC.Font=fontly;this.labD.ForeColor=Color.Black;this.labD.Font=fontly;if(!File.Exists(this.subject)){MessageBox.Show("找不到题库","错误",MessageBoxButtons.OK,MessageBoxIcon.Error);return;}_vis=1;FileStreamfs=newFileStream(this.subject,FileMode.Open,FileAccess.Read);//读出txt文件,且设置为只读模式StreamReaderfile=newStreamReader(fs,Encoding.GetEncoding("gb2312"));//将读出的数据转换为中文while(file.Peek()!=-1){file.ReadLine();//读出第一条为空题this.labSub.Text=file.ReadLine();//读出第二句赋给题目this.labA.Text=file.ReadLine();//读出第三句赋给选项Athis.labB.Text=file.ReadLine();//读出第四句赋给选项Bthis.labC.Text=file.ReadLine();//读出第五句赋给选项Cthis.labD.Text=file.ReadLine();//读出第六句赋给选项Dthis._key=file.ReadLine();if(_vis==_title)//如果读出的数据为当前的题目数,那么在屏幕显示后跳出读取{break;}_vis++;}_title++;file.Close();//关闭流}privatestaticint_sbTime=20;//设置答题倒计时时间privatevoidbtnTime_Click(objectsender,System.EventArgse){if(this.btnTime.Text.Equals("开始计时")){this.tmeTime.Enabled=true;//开启计时this._time=_sbTime;//将时间设置为设定时间this.btnTime.Text="暂停";}else{this.tmeTime.Enabled=false;//暂停计时this.btnTime.Text="开始计时";}}privateint_time=_sbTime;Colorred=Color.Red;Colorwhite=Color.White;privatevoidtmeTime_Tick(objectsender,System.EventArgse){if(_time<=-1){this.MediaSound.URL=Application.StartupPath+@"Sound时间到.wav";//时间到则用声音提示this.tmeTime.Enabled=false;this._time=_sbTime;this.btnTime.Text="开始计时";}else{if(_time<=10)//时间小于10秒则用声音提示{this.labTime.ForeColor=red;this.MediaSound.URL=Application.StartupPath+@"Sound最后10秒时间.WAV";}else{this.labTime.ForeColor=white;}this.labTime.Text=_time.ToString();this._time--;}}privatevoidmenuItem2_Click(objectsender,System.EventArgse)//这里是让panel显示的方法{this.menuItem2.Checked=true;this.palTwo.Visible=false;this.palThree.Visible=true;this.palThree.Dock=DockStyle.Fill;this.palThree.BringToFront();}privatevoidmenuItem11_Click(objectsender,System.EventArgse){MessageBox.Show("本程序由(汕头星河)北大青鸟学生会学习部出品","关于",MessageBoxButtons.OK,MessageBoxIcon.Asterisk);}Fontfontly=newFont("黑体",26);//原始字体Fontfont=newFont("黑体",30);//正确答案字体privatevoidbtnkey_Click(objectsender,System.EventArgse)//判断答案{if(this._key.Equals("A")){this.labA.ForeColor=this.red;this.labA.Font=font;}if(this._key.Equals("B")){this.labB.ForeColor=this.red;this.labB.Font=font;}if(this._key.Equals("C")){this.labC.ForeColor=this.red;this.labC.Font=font;}if(this._key.Equals("D")){this.labD.ForeColor=this.red;this.labD.Font=font;}}}
解决方案九:
不要设Visible,如果你的几个Panel都是一样大小,一样位置的,不要设置Dock属性和Visible属性,用BrintToFront来显示。