希望大家帮我解决, (已经附程序,请看一下) 谢谢!!!!!!!!!!!!!!!!

shuicanyi 2004-03-28 07:46:13
效率问题,为什么很慢!
为什么内存不足,我要怎么做呢?

---------------------------------
// 按纽 的鼠标事件,就是鼠标进入时变化按纽(BUTTONS)的背景,离开时又改变!
// 问题是,为什么会内存不足,怎么解决!
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace MyButtonAndMouseExampleDemo
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Button button1;
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;

public Form1()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();

//
// 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.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(56, 48);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(168, 80);
this.button1.TabIndex = 0;
this.button1.MouseEnter += new System.EventHandler(this.button1_MouseEnter);
this.button1.MouseLeave += new System.EventHandler(this.button1_MouseLeave);
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(336, 197);
this.Controls.Add(this.button1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.Name = "Form1";
this.Text = "Form1";
this.Load += new System.EventHandler(this.Form1_Load);
this.ResumeLayout(false);

}
#endregion

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

///////////////////////////////////////
///// 下面的语句就是我的实现方法前面的废话!
/////////////////////////////
private void Form1_Load(object sender, System.EventArgs e)
{
string mypath;
mypath=Application.StartupPath ;
button1.BackgroundImage =System.Drawing .Image .FromFile (mypath+"\\align.ico");

}

private void button1_MouseEnter(object sender, System.EventArgs e)
{
string mypath;
mypath=Application.StartupPath ;
button1.BackgroundImage =System.Drawing .Image .FromFile (mypath+"\\Beretta.ico");
//请注意图片的名字,要想运行需要有同名图片!我的图片大小为1K

}

private void button1_MouseLeave(object sender, System.EventArgs e)
{
string mypath;
mypath=Application.StartupPath ;
button1.BackgroundImage =System.Drawing .Image .FromFile (mypath+"\\align.ico");
//请注意图片的名字,要想运行需要有同名图片! 我的图片大小为1K

}
/////////////////////////////////////////////////
//以上语句就是我的实现方法,为什么会内存不足,怎么解决!
/////////////////////////////////////////////////
}
}
...全文
58 6 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
marvelstack 2004-03-28
我照你的方法写了一下,结果一切正常,代码如下,要不楼主重起一下电脑试试。
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;

namespace FormTest
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Button button1;

private System.ComponentModel.Container components = null;

public Form1()
{
InitializeComponent();
}

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

[STAThread]
static void Main()
{
Application.Run(new Form1());
}

#region Windows 窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(256, 76);
this.button1.Name = "button1";
this.button1.TabIndex = 0;
this.button1.Text = "button1";
this.button1.MouseEnter += new System.EventHandler(this.button1_MouseEnter);
this.button1.MouseLeave += new System.EventHandler(this.button1_MouseLeave);
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(396, 221);
this.Controls.Add(this.button1);
this.Name = "Form1";
this.Text = "Form1";
this.Load += new System.EventHandler(this.Form1_Load);
this.ResumeLayout(false);

}
#endregion


private void Form1_Load(object sender, System.EventArgs e)
{
button1.BackgroundImage =Image.FromFile(Environment.CurrentDirectory+"\\01.ico");
}

private void button1_MouseEnter(object sender, System.EventArgs e)
{
button1.BackgroundImage =Image.FromFile(Environment.CurrentDirectory+"\\02.ico");
}

private void button1_MouseLeave(object sender, System.EventArgs e)
{
button1.BackgroundImage =Image.FromFile(Environment.CurrentDirectory+"\\01.ico");
}


}
}
一切正常。
  • 打赏
  • 举报
回复
shuicanyi 2004-03-28
TOupto(阿球) (
我回去试一下
  • 打赏
  • 举报
回复
Bob 2004-03-28
不如你根据我的源码修改一下你的源码吧.我是用你的修改一下的.更加简练
  • 打赏
  • 举报
回复
showtimenow 2004-03-28
button1_MouseEnter 改成 button1_MouseOver 试试
  • 打赏
  • 举报
回复
shuicanyi 2004-03-28
你把我的那段 编译一下 看一下呢?

PS :一般你们的C# 的WINFORM 程序(小程序,如就只有几个控件的程序) 占多少内存
  • 打赏
  • 举报
回复
Bob 2004-03-28
我这里没有问题!

private void Form1_Load(object sender, System.EventArgs e)
{
button1.BackgroundImage =System.Drawing .Image .FromFile (Application.StartupPath+"\\1.ico");
}

private void button1_MouseEnter(object sender, System.EventArgs e)
{
button1.BackgroundImage =System.Drawing .Image .FromFile (Application.StartupPath+"\\2.ico");
}

private void button1_MouseLeave(object sender, System.EventArgs e)
{
button1.BackgroundImage =System.Drawing .Image .FromFile (Application.StartupPath+"\\1.ico");
}
  • 打赏
  • 举报
回复
相关推荐
最新单片机仿真 独立式键盘调时的数码时钟实验 最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的
发帖
C#
加入

10.7w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2004-03-28 07:46
社区公告

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