奇怪现象: 程序最大化后,快速拖动分割条,图片有时候不能正常显示.... 简单程序,看原程序。

canoe_eyes 2004-11-24 06:30:24
//谢谢大家!

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.IO;
namespace testimage
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private string strPath;
private Image imx;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Splitter splitter1;
private System.Windows.Forms.TreeView treeView1;
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;

public Form1()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
strPath = Path.GetDirectoryName( Application.ExecutablePath );
imx = Image.FromFile( strPath + @"\a.bmp" );
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}

/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}

#region Windows 窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.panel1 = new System.Windows.Forms.Panel();
this.treeView1 = new System.Windows.Forms.TreeView();
this.splitter1 = new System.Windows.Forms.Splitter();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// panel1
//
this.panel1.BackColor = System.Drawing.SystemColors.ActiveBorder;
this.panel1.Controls.Add(this.treeView1);
this.panel1.Dock = System.Windows.Forms.DockStyle.Left;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(144, 557);
this.panel1.TabIndex = 0;
this.panel1.SizeChanged += new System.EventHandler(this.panel1_SizeChanged);
this.panel1.Paint += new System.Windows.Forms.PaintEventHandler(this.panel1_Paint);
//
// treeView1
//
this.treeView1.ImageIndex = -1;
this.treeView1.ItemHeight = 14;
this.treeView1.Location = new System.Drawing.Point(0, 25);
this.treeView1.Name = "treeView1";
this.treeView1.SelectedImageIndex = -1;
this.treeView1.Size = new System.Drawing.Size(144, 528);
this.treeView1.TabIndex = 2;
//
// splitter1
//
this.splitter1.Location = new System.Drawing.Point(144, 0);
this.splitter1.Name = "splitter1";
this.splitter1.Size = new System.Drawing.Size(3, 557);
this.splitter1.TabIndex = 1;
this.splitter1.TabStop = false;
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.BackColor = System.Drawing.SystemColors.Desktop;
this.ClientSize = new System.Drawing.Size(632, 557);
this.Controls.Add(this.splitter1);
this.Controls.Add(this.panel1);
this.Name = "Form1";
this.Text = "Form1";
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
this.SizeChanged += new System.EventHandler(this.Form1_SizeChanged);
this.Load += new System.EventHandler(this.Form1_Load);
this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint);
this.panel1.ResumeLayout(false);
this.ResumeLayout(false);

}
#endregion

/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}

private void panel1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
Graphics g = e.Graphics;

g.DrawImageUnscaled (this.imx, this.panel1.Size.Width -50, 2);

}

private void panel1_SizeChanged(object sender, System.EventArgs e)
{
this.treeView1.Size = new Size (this.panel1.Size.Width - 4, this.panel1.Size.Height -25);
this.panel1.Invalidate();
//this.Refresh();
}

private void menuItem2_Click(object sender, System.EventArgs e)
{

}

private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{

}

private void Form1_SizeChanged(object sender, System.EventArgs e)
{
this.panel1.Invalidate();
}

private void Form1_Load(object sender, System.EventArgs e)
{
this.treeView1.Location = new System.Drawing.Point(0,25);
}
}
}
...全文
273 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
canoe_eyes 2004-11-26
  • 打赏
  • 举报
回复
问题解决,再次谢谢大家!
youwanna 2004-11-25
  • 打赏
  • 举报
回复
奇怪。。未出现,帮顶
canoe_eyes 2004-11-25
  • 打赏
  • 举报
回复
to 楼上 我的机器玩魔兽很流畅...
xinbin1122 2004-11-25
  • 打赏
  • 举报
回复
Because you computer is slow, maybe.
canoe_eyes 2004-11-25
  • 打赏
  • 举报
回复
我用 SnagIt 做了一个这个程序奇怪现象演示的 avi .大家有兴趣可以留下 email。 哦 我一直在线....
canoe_eyes 2004-11-25
  • 打赏
  • 举报
回复
在sizechanged中如果 不重新调整 treeview的size就不会有问题...大家有兴趣可以试试...很奇怪...
private void panel1_SizeChanged(object sender, System.EventArgs e)
{
this.treeView1.Size = new Size (this.panel1.Size.Width - 4, this.panel1.Size.Height -25);
this.panel1.Invalidate();
}
51106354 2004-11-25
  • 打赏
  • 举报
回复
我也试了一下,没有发现什么问题呀!!!
我的版本是2003
canoe_eyes 2004-11-25
  • 打赏
  • 举报
回复
to oriesMap 我这边很明显的,奇怪... 把你的程序发给我在这边试试 ,谢谢。ali@deemax.com.tw
OriesMap 2004-11-25
  • 打赏
  • 举报
回复
不好意思,还是没有见到有什么问题。
karykwan 2004-11-25
  • 打赏
  • 举报
回复
因为pictureBox好控制一点
canoe_eyes 2004-11-25
  • 打赏
  • 举报
回复
to oriesMap 我的也是2003,你来回快速拖放分割条,。。。
to karykwan(独行者) 我现在试试你的方法,不过为什么image 不可以呢?
karykwan 2004-11-25
  • 打赏
  • 举报
回复
private Image imx;
楼主为什么不把image换成pictureBox组件不是要好控制一些
OriesMap 2004-11-25
  • 打赏
  • 举报
回复
你是什么版本的.net呀?
我是2003版的,试了几次,感觉没有什么问题呀?
xiaoslong 2004-11-24
  • 打赏
  • 举报
回复
帮你顶
源码下载地址: https://pan.quark.cn/s/8d2c461c797c JavaWeb程序设计构成了掌握Web交互式应用程序开发的核心领域,对于初学者来说,精通这一技术具有决定性意义。在“JavaWeb程序设计(第三版)作业答案”中,我们可以预期获得针对该教材习题的一系列深入解析,从而协助学习者强化知识体系。 JavaWeb所包含的技术组件涵盖了Servlet、JSP(JavaServer Pages)、JDBC(Java Database Connectivity)以及各类框架如Spring MVC、Struts等。Servlet是Java平台提供的一种扩展服务器功能的接口,能够处理HTTP请求并生成相应的反馈。JSP则是一种用于构建动态网页的工具,它支持开发者将HTML代码与Java代码进行整合编写,从而简化了Web应用程序的开发流程。 作业答案通常会涉及以下几个核心内容: 1. **Servlet基础**:可能包含Servlet生命周期、init(), service(), destroy()方法的应用,以及如何在web.xml文件中设定Servlet的映射关系。 2. **JSP基础**:JSP的九大内置对象,如request、response、session、application等的使用,以及EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)的实际操作。 3. **HTTP协议理解**:GET和POST请求方法的差异,请求头与响应头的应用,以及会话管理的概念阐释。 4. **JDBC数据库操作**:与数据库建立连接,执行SQL指令,处理查询结果集,以及...
源码链接: https://pan.quark.cn/s/a4b39357ea24 斐讯K2是一款广受用户青睐的无线路由器,其运行表现稳定且具备较高的可操作性,在DIY爱好者群体中拥有极高的声誉。本资料将系统性地阐述斐讯K2的固件刷机方法及其关联的技术要点。固件升级是路由器爱好者改善设备性能、扩展功能的一种普遍手段,经由替换出厂固件,能够达成更加个性化的网络配置、增强安全防护等目标。斐讯K2固件资源库涵盖了多种知名的非官方固件,诸如Tomato Pheonix 不死鸟、高恪、PandoraBox 潘多拉等,这些固件均具备独特的优势,能够适配不同用户的需求。 1. Tomato Pheonix 不死鸟:Tomato是一款立足于Linux的开源固件,以其精巧、高效而备受推崇。不死鸟版本是专门为华硕及斐讯路由器优化的分支,提供了卓越的QoS(服务质量)配置、详尽的图表监控以及便捷的固件升级途径。对于那些需要精准调控带宽和监测网络状态的用户而言,这是一个理想的选项。 2. 高恪:高恪固件是OpenWrt的定制化版本,着重于操作的便捷性和运行的可靠性,特别适合对路由器操作不甚熟悉的用户群体。它提供了一些实用的功能,例如内置的广告屏蔽、快速测速工具等,同时保留了OpenWrt的适应性。 3. PandoraBox 潘多拉:潘多拉盒是另一款基于OpenWrt的固件,它以丰富的插件库和强大的自定义潜力而闻名。用户能够依据个人需求安装各类插件,实现更多功能,如远程接入、DDNS(动态域名解析服务)等。 4. 官方固件的纯净版本与定制版本:官方固件通常更侧重于稳定性,纯净版意味着未预置额外的应用或服务,适合注重稳定性的用户。定制版则可能包含了制造商的特色功能或优...

111,130

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧