C#winform内存溢出异常

new其他的不会报内存溢出异常,new窗口就报内存溢出异常。

3个回答

可能新窗体有死循环,用调试模式看最终得到什么错误提示。

qq_35693863
qq_35693863 回复qq_35693863: 虽然我找到了病因,但是不知道怎么解决,求大神给解决方案。
接近 4 年之前 回复
qq_35693863
qq_35693863 我调试了,只要new这两个窗口,它们就会一直互相跳跃窗口,但不进事件里面,只执行事件外面的声明代码
接近 4 年之前 回复

分配的内存过多,或者是有无限递归调用,贴出代码

caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复qq_35693863: 你的代码有无限递归,打开堆栈窗口,把截图贴出来
接近 4 年之前 回复
qq_35693863
qq_35693863 回复qq_35693863: 虽然我找到了病因,但是不知道怎么解决,求大神给解决方案。
接近 4 年之前 回复
qq_35693863
qq_35693863 我调试了,只要new这两个窗口,它们就会一直互相跳跃窗口,但不进事件里面,只执行事件外面的声明代码
接近 4 年之前 回复

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
public partial class Lyrics : Form
{
public Lyrics()
{
InitializeComponent();
}
[DllImport("user32.dll")]
public static extern bool ReleaseCapture();

    [DllImport("user32.dll")]
    public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);

    protected override void WndProc(ref Message m)
    {
        Console.WriteLine(m);
        base.WndProc(ref m);
    }

    public string songname;
    public string du;
    public Form1 f1;
    public int abc;
    public List<Lrc> lrcs = new List<Lrc>();
    LrcMethod l = new LrcMethod();
    int question;
    Thread thread;
    protected override CreateParams CreateParams
    {
        get
        {
            CreateParams cp = base.CreateParams;
            cp.ExStyle |= 0x02000000;
            return cp;
        }
    }


    /// <summary>
    /// 是否有网络的方法
    /// </summary>
    /// <returns></returns>
    private bool IsValidateOnline()
    {
        try
        {
            Uri MyUri = new Uri("Http://www.baidu.com");
            WebRequest wb = WebRequest.Create(MyUri);
            wb.Proxy = new WebProxy();
            WebResponse wsp = wb.GetResponse();
            return true;
        }
        catch (Exception)
        {
            return false;
        }
    }
    public int yn;  //传到Form1的label判断
    DownSongerImg down = new DownSongerImg();
    public void xx()
    {
        http h = new http();
        kugou k = new kugou();           
        String url;
        bool ccaa = IsValidateOnline();
        if(lrcs!=null)
        lrcs.Clear();
        du = du.Substring(0, 3);
        if (File.Exists("Lyrics\\"+songname + ".lrc"))
        {
            if (ccaa)
            {
                if (File.Exists(@"photo\" + f1.author + ".jpg"))
                {
                    this.BackgroundImage = Image.FromFile(@"photo\" + f1.author + ".jpg");
                }
                else
                {
                    url = h.getUrl(h.getJsonText(k.getimg(f1.author)));   //k.getimg是替换文字,h.getJsonText是接收Json格式字符串,h.getUrl是从Json获取下载地址
                    if (url != null)
                    {
                        down.path = @"photo\" + f1.author + ".jpg";
                        down.Down(url);
                    }
                    else
                    {
                        this.BackgroundImage = Image.FromFile(@"D:\迅雷下载\风景图.jpg"); 
                    }
                }
            }
            else
            {
                if (File.Exists(@"photo\" + f1.author + ".jpg"))
                {
                    this.BackgroundImage = Image.FromFile(@"photo\" + f1.author + ".jpg");
                }
                else
                {
                    this.BackgroundImage = Image.FromFile(@"D:\迅雷下载\风景图.jpg");
                }
            }
            lrcs = l.loadfile(songname);
            layoutLrc(lrcs);              
            yn = 0;
            return;
        }
        if (ccaa == false)
        {
            yn = 1;
            return;
        }
        else
        {
            if (File.Exists(@"photo\" + f1.author + ".jpg"))
            {
                this.BackgroundImage = Image.FromFile(@"photo\" + f1.author + ".jpg");
            }
            else
            {
                url = h.getUrl(h.getJsonText(k.getimg(f1.author)));   //k.getimg是替换文字,h.getJsonText是接收Json格式字符串,h.getUrl是从Json获取下载地址
                if (url != null)
                {
                    down.path = @"photo\" + f1.author + ".jpg";
                    down.Down(url);
                }
                else
                {
                    this.BackgroundImage = Image.FromFile(@"D:\迅雷下载\风景图.jpg");
                }
            }
            lrcs = l.LoadLrc(songname, du);
            if (lrcs == null)
            {
                if (question == 1)
                {
                    question = 0;
                    return;
                }
                thread = new Thread(new ThreadStart(NewMethod));
                thread.Start();
                panel1.Controls.Clear();
                yn = 0;
                return;
            }
            layoutLrc(lrcs);
            yn = 0;
            GC.Collect();
        }
    }

    private void NewMethod()
    {
        question = 1;
        MessageBox.Show("不好意思,没有找到这首歌的歌词");       
    }
    public void layoutLrc(List<Lrc> lrc)
    {
        int j = 4;
        panel1.Controls.Clear();
        panel1.AutoScrollMargin = new System.Drawing.Size(0, 200);
        for (int i = 0; i < lrc.Count; i++)
        {
            j++;
            Label label = new Label();
            label.BackColor = Color.Transparent;
            label.Location = new Point(panel1.Location.X, 30 * j);
            label.Font = new System.Drawing.Font("新宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            label.Text = lrc[i].Value;
            label.Size = new System.Drawing.Size(panel1.Width, 30);
            label.AutoSize = false;
            label.Tag = lrc[i].Key;
            label.ForeColor = Color.FromArgb(244, 244, 244);
            label.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
            panel1.Controls.Add(label);
        }

    }
    Label l1 = new Label();
    private void label3_TextChanged(object sender, EventArgs e)
    {        
        foreach (Control item in panel1.Controls)
        {
            Label l = new Label();
                l = (Label)item;
                string labelstr = label1.Text;
                int a = Convert.ToInt32(l.Tag.ToString().Replace(":", ""));
                int b=0;
                try
                {
                    b = Convert.ToInt32(labelstr.Replace(":", ""));
                }
                catch (Exception)
                {
                    Console.WriteLine("ABC");
                }
                if (a == b)
                {
                    l1.ForeColor = Color.FromArgb(244, 244, 244);
                    l1.Font = new System.Drawing.Font("新宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
                    l.ForeColor = Color.FromArgb(249, 216, 129);
                    l.Font = new System.Drawing.Font("新宋体", 11.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
                    l1 = l;
                    panel1.ScrollControlIntoView(l);
                }
        }
    }

    private void timer1_Tick(object sender, EventArgs e)
    {
        try
        {
            if (thread.ThreadState == ThreadState.Stopped)
            {
                thread.Abort();
            }
        }
        catch (Exception)
        {
            Console.WriteLine("ABC");
        }
    }
    private void button1_MouseMove(object sender, MouseEventArgs e)
    {
        Button bt = (Button)sender;
        bt.BackgroundImage = Image.FromFile(@"Image\button2.png");           
    }
    private void button1_MouseLeave(object sender, EventArgs e)
    {
        Button bt = (Button)sender;
        bt.BackgroundImage = Image.FromFile(@"Image\button1.png");
    }
    public Exist exit = new Exist();  
    private void Lyrics_Load(object sender, EventArgs e)
    {
        exit.ly = this;
        string url=@"D:\IQIYI Video\cur\cur\光标\Help_Gea.cur";
        down.lyric = this;
        button1.Cursor = new Cursor(url);
        button2.Cursor = new Cursor(url);
        label1.Visible = false;
    }

    private void button1_Click(object sender, EventArgs e)
    {
        f1.Show();
        this.Hide();
        abc = 1;
    }

    private void panel2_MouseMove(object sender, MouseEventArgs e)
    {
        ReleaseCapture();
        //发送消息,0x112代表系统命令,0xF012代表移动
        SendMessage(this.Handle, 0x0112, 0xF012, 0);
    }

    private void button2_Click(object sender, EventArgs e)
    {
        Application.Exit();
    }
}

}

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
public partial class Exist : Form
{
public Exist()
{
InitializeComponent();
}

public Form1 f1;
string[] number = new string[] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" };
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < number.Length; i++)
{
if (textBox2.Text == number[i])
{
textBox2.Text = "0" + number[i];
}
if (textBox3.Text == number[i])
{
textBox3.Text = "0" + number[i];
}
}
if (textBox2.Text != "")
{
if (textBox3.Text == "")
{
textBox3.Text = "00";
}
}
count = 0;
timer2.Start();
}

    private void button2_Click(object sender, EventArgs e)
    {
        timer2.Stop();
        this.TopMost = false;
    }

    private void Exist_Load(object sender, EventArgs e)
    {
        textBox1.Text = DateTime.Now.ToShortTimeString();
    }

    private void timer1_Tick(object sender, EventArgs e)
    {
        textBox1.Text = DateTime.Now.ToShortTimeString();
    }
    double size;
    private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (e.KeyChar == 0x20)
        {
            e.KeyChar = (char)0;
        }
        if (e.KeyChar > 0x20)
        {
            try
            {
                size = double.Parse(((TextBox)sender).Text + e.KeyChar.ToString());
                if (textBox2.SelectionLength == 1 || textBox2.SelectionLength == 2)
                {
                    return;
                }
                if (size > 23)
                {
                    e.KeyChar = (char)0;
                }
            }
            catch
            {
                e.KeyChar = (char)0;   //处理非法字符  
            }
        }  
    }

    private void textBox3_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (e.KeyChar == 0x20)
        {
            e.KeyChar = (char)0;
        }
        if (e.KeyChar > 0x20)
        {
            try
            {
                size = double.Parse(((TextBox)sender).Text + e.KeyChar.ToString());
                if (textBox3.SelectionLength == 1 || textBox3.SelectionLength == 2)
                {
                    return;
                }
                if (size > 59)
                {
                    e.KeyChar = (char)0;
                }
            }
            catch
            {
                e.KeyChar = (char)0;   //处理非法字符  
            }
        }  
    }
    int count;
    public Lyrics ly=new Lyrics(); 
    private void timer2_Tick(object sender, EventArgs e)
    {
        if (count != 1)
        {
            if (DateTime.Now.Minute == (Convert.ToInt32(textBox3.Text) - 1))
            {
                count++;
                this.TopMost = true;
                if (ly.Visible == false)
                     ly.Hide(); 
                this.Show();
                MessageBox.Show("还有一分钟,播放器将退出","温馨提示");                  
            }
        }
        if (textBox1.Text == textBox2.Text + ":" + textBox3.Text)
        {
            Application.Exit();
        }
    }

    private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
    {
        pictureBox1.Image = Image.FromFile(@"Image/exists2.png");
    }

    private void pictureBox1_MouseLeave(object sender, EventArgs e)
    {
        pictureBox1.Image = Image.FromFile(@"Image/exists1.png");
    }

    private void pictureBox1_Click(object sender, EventArgs e)
    {
        f1.Show();
        this.Hide();
    }

}

}

一启动就报这个图片说明

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
求助! C# winform GridControl 导出Excel出现内存溢出的问题!

使用的是DevExpress 15.1 的版本导出的是2007的xlsx格式的Excel 代码中使用的是CompositeLink类的ExportToXlsx()方法

C# winform程序 清除不掉datagridview占用的内存

for (int i = 0; i <= 100000; i++ ) { Form2 form2 = new Form2(); form2.Show(); form2.Close(); form2.Dispose(); } Form2中除了三个datagridview,其他什么都没有

C#winform 做一个项目需要动态添加控件和布局

写一个功能模块。用得第三方 devexpress 模块的功能:留有接口,外部调用可以生成新控件。 (接口参数设定有什么最优的方法,才能解析比较容易,比如:传入xml等) 还有不明白的是控件动态添加的,有些怎么联动。 求教大佬。。

C# winForm GridContorl 导出Excel

各位大神!求一个GridControl导出Excel的方法          要求:按照页面显示的记录进行导出 包括导出背景色         如:PivotGridControl控件分组效果的导出         注:要能一次导出十几万甚至几十万条数据不会出现内存溢出的问题 谢谢!

c#程序中,webbrowser 加载网页很多次后内存几乎占满卡死。怎么释放资源?

c#程序中,webbrowser 加载大量网页后内存几乎占满卡死。怎么释放资源?百度查了些帖子说:这个是webbrowser的内存泄露问题,可用办法是:升级ie到8以上,还有用kernel32.dll的,试了不成功,谁有试成功的经验?

C# System.OutOfMemoryException

写了一个定时器,在每隔1小时,需要调用下面的方式,每次调用该方法,可能要调用上百次。但该定时器执行了多次之后,就报"System.OutOfMemoryException" 异常。 请问如何解决? 谢谢! public class Files { public static string GetWebPage(string url, string indata, string dataurl, Encoding encoding) { string responseFromServer = null; try { string postData = indata; byte[] byteArray = encoding.GetBytes(postData); WebRequest request = WebRequest.Create(url); request.Method = "POST"; request.ContentType = "text/xml"; request.ContentLength = byteArray.Length; Stream dataStream = request.GetRequestStream(); dataStream.Write(byteArray, 0, byteArray.Length); dataStream.Close(); WebResponse response = request.GetResponse(); dataStream = response.GetResponseStream(); StreamReader reader = new StreamReader(dataStream); responseFromServer = reader.ReadToEnd(); reader.Close(); dataStream.Close(); response.Close(); } catch (Exception ex) { StreamWriter excptswstream = new StreamWriter("c:\\11.txt", false, System.Text.Encoding.Default); excptswstream.Write("数据读取错误:========"+ ex.Message); excptswstream.Close(); return "数据读取错误"; } return responseFromServer; } }

winform 怎么解决chartcontrol控件数据更新过快导致的索引超范围的问题

本来是想用Dev的chart控件写一个实时显示数据的示波器,用的是串口通信接口,波特率是14400,在下位机端是每一毫秒发送一次数据现在实现了每次接收到串口数据,产生事件后,将数据用图表的形式显示出来,但是执行一段时间后,在main函数处就会报错![图片说明](https://img-ask.csdn.net/upload/201904/11/1554985970_794033.png) 尝试过在串口接收数据时,控件更新时收异常,但是最后报错都是如上图所示,开始以为的是dev的控件本身可能有bug,所以重新换用.netbar中realtime chart控件还是会出现相同的问题,而且抛出的异常和运行的时间没有必然的关系,有时候是接收了一小段时间就抛出异常,有时候是接收了较长一段时间后才会抛出这个是串口事件的代码 ``` private void ssp_DataReceived(object sender, SerialDataReceivedEventArgs e) { if (closing) return; try { Listening = true; byte[] buf = new byte[ssp.BytesToRead]; ssp.Read(buf, 0, buf.Length); ssp.DiscardInBuffer(); ssp.DiscardOutBuffer(); for (int i = 0; i < buf.Length; i++) { ChartRefresh(0, Convert.ToDouble(buf[i])); ChartRefresh(1, 200.0); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } finally { Listening = false;//我用完了,ui可以关闭串口了。               } } ``` ChartRefresh刷新控件是后来改的是.netbar中实例的源码 然后,我把代码改成接收到串口数据的事件后,不对串口数据进行处理(只清了缓存,不读也不写),图表随意更新10次,100次,1000次数据,结果是更加容易出现异常,所以首先感觉是数据更新太快导致了控件刷新不过来 还请大佬们看看这个怎么破,怎么看到底是哪出了问题.....

C# 图像处理 灰度图 System.OverflowException:“溢出错误。”

代码是我在学习赵春江老师的C#数字图像处理算法典型实例中搬到VS2017上的, 由于随书附带的源代码,年份久远,不能直接在VS2017上运行,所以text文档打开,搬到VS上试图运行的,使用的图片已经是8位深度灰度处理过的图片,但是却无法解释溢出错误 ,本人纯属菜鸟,希望各位有经验的同学指点一番。 代码如下: namespace WindowsFormsPictureToMatrix { public partial class histForm : Form { //图像数据 private System.Drawing.Bitmap bmpHist; private int[] countPixel; //记录最大的灰度个数 private int maxPixel; public histForm(Bitmap bmp) { InitializeComponent(); //将主窗体的数据传递给子窗体 bmpHist =bmp; countPixel = new int[256]; } private void histForm_Load(object sender, EventArgs e) { //锁定8位灰度位图 Rectangle rect = new Rectangle(0, 0, bmpHist.Width, bmpHist.Height); System.Drawing.Imaging.BitmapData bmpData = bmpHist.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadWrite, bmpHist.PixelFormat); IntPtr ptr = bmpData.Scan0; int bytes = bmpHist.Width * bmpHist.Height; //int bytes = bmpData.Stride * bmpData.Height; byte[] grayValues = new byte[bytes]; System.Runtime.InteropServices.Marshal.Copy(ptr, grayValues, 0, bytes); byte temp = 0; maxPixel = 0; Array.Clear(countPixel, 0, 256); for (int i = 0; i < bytes; i++) { temp = grayValues[i]; countPixel[temp]++; if (countPixel[temp] > maxPixel) { maxPixel = countPixel[temp]; } System.Runtime.InteropServices.Marshal.Copy(grayValues, 0, ptr, bytes); bmpHist.UnlockBits(bmpData); } } private void histForm_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; Pen curPen = new Pen(Brushes.Black, 1); //绘制横纵坐标 g.DrawLine(curPen, 50, 240, 320, 240); g.DrawLine(curPen, 50, 240, 50, 30); g.DrawLine(curPen, 100, 240, 100, 242); g.DrawLine(curPen, 150, 240, 150, 242); g.DrawLine(curPen, 200, 240, 200, 242); g.DrawLine(curPen, 250, 240, 250, 242); g.DrawLine(curPen, 300, 240, 300, 242); //横坐标刻度 g.DrawString("0", new Font("New Timer", 8), Brushes.Black, new PointF(46, 242)); g.DrawString("50", new Font("New Timer", 8), Brushes.Black, new PointF(92, 242)); g.DrawString("100", new Font("New Timer", 8), Brushes.Black, new PointF(139, 242)); g.DrawString("150", new Font("New Timer", 8), Brushes.Black, new PointF(189, 242)); g.DrawString("200", new Font("New Timer", 8), Brushes.Black, new PointF(239, 242)); g.DrawString("250", new Font("New Timer", 8), Brushes.Black, new PointF(289, 242)); g.DrawLine(curPen, 48, 40, 50, 40); g.DrawString("0", new Font("New Timer", 8), Brushes.Black, new PointF(34, 234)); g.DrawString(maxPixel.ToString(), new Font("New Timer", 8), Brushes.Black, new PointF(18, 34)); //绘制直方图纵坐标 double temp = 0; for (int i = 0; i < 256; i++) { temp = 200.0 * countPixel[i] / maxPixel; g.DrawLine(curPen, 50 + i, 240, 50 + i, 240 - (int)temp);//溢出错误!!! } curPen.Dispose(); } } } 测试用图: 说明:csdn在编辑上传图片的时候不允许使用.bmp格式,我就改成了.jpg格式,不知道格式会不会对程序有所影响,如果有必要,还请各位帮我查看问题的时候修改为.bmp,谢谢各位。 ![图片说明](https://img-ask.csdn.net/upload/201710/23/1508769669_814570.jpg)

C# Graphics graphic.DrawImage异常 急 急 急!帮帮忙直接上图了

![图片说明](https://img-ask.csdn.net/upload/201803/09/1520564535_329846.png)

C# postmessage 键盘消息问题

SendMessage(s, CommonConst.WM_LBUTTONDBLCLK, IntPtr.Zero, IntPtr.Zero); PostMessage(s, CommonConst.WM_SYSKEYDOWN, CommonConst.VK_NUMPAD1, 0); 这是两条发消息的代码。s是我定义的获取的记事本的edit的句柄。但第一条sendmessage能够成功执行,第二条postmessage 却没有反应,请问各位大神这是为什么呢

C# mediaplayer视频拉伸问题

用mediaplayer播放视频,视频原始大小只有400X300,我把mediaplayer的属性设置成800X600,视频播放依旧只有400X300的大小

C# richTextBox设置不自动换行,但是单行长度超过4096字节时,还是会自动分多行显示

求不分行显示的设置方法,或单行长度限制的具体原因或属性。 代码很简单,首先设置richtextbox1.wordwarp= false,代码如下: string all = ""; private void button1_Click(object sender, EventArgs e) { string temp = ""; for (int i = 0; i <4096; i++) { temp = temp + "D"; } all = all + temp; this.richTextBox1.Text = all; } 如上:如果长度大于4096会自动分多行显示。

FromBase64String(string) 异常

在使用 byte[] bytes =Convert.FromBase64String(str); 函数时出现异常情况。 当str 字符串超大超长的时候(一般将一个100M文件转成Base64字符串的长度大小),运行 上面那段代码的时,当程序界面第一次执行时能正常转换,当程序不退出来,再次执行一遍的时候会报System.OutOfMemoryException 内存溢出错误,为什么?有什么办法不? 有那位大神指点一下?

WPF弹窗出现算术运算中发生溢出或下溢问题

![图片说明](https://img-ask.csdn.net/upload/201509/29/1443497361_941721.jpg) ![图片说明](https://img-ask.csdn.net/upload/201509/29/1443497448_334907.jpg) 报错为开票模块,在该模块中会调用航天金穗的开票开发组件进行开票,开票时首先会弹出一个弹出窗口让用户配置一些开票时所需的一些配置信息(开票时的一些合并规则等),用户配置完信息点击确定(此时会关闭该弹出窗口,开票流程继续进行),当发票明细金额全部为负数时将开具红字发票,此时将弹出一个新的弹出窗口让用户输入负数发票对应的正数发票的代码和号码,报错就在打开这个窗口时发生了。

C# 串口发送卡死 求大神解决

上位机和底层的通信方式是同步的,上位机第一次发送可以完成。 串口接收到返回的信息进行判断,然后直接在接收函数中再次发送。 设置断点可以完成整个过程,但是直接运行,就卡死。 目前发现是接收到返回的信息后再次发送的时候,卡死。 请问如何解决? ``` //串口接收事件 private void comm_DataReceived(object sender, SerialDataReceivedEventArgs e) { while (comm.BytesToRead > 0) { rx_Buf[rx_Cnt++] = (byte)comm.ReadByte(); } if (rx_Cnt == 8) { //8个字节 接收完成 rx_Cnt = 0; } else { return; } Console.WriteLine("-----接收发回帧-----"); if (rx_Buf[0] == 0xFF && rx_Buf[1] == 0xFE && rx_Buf[6] == 0xFE && rx_Buf[7] == 0xFF) { switch (rx_Buf[4]) { case 0x01: if (rx_Buf[5] == 0xAA) { flag_State = FLAG_STATUS.STATE_WRITE; send_file = true; Console.WriteLine("-----验证成功 开始发送文件-----"); } else { MessageBox.Show("0x01 失败"); } break; case 0x02: if (rx_Buf[5] == 0xAA) send_file = true; else MessageBox.Show("0x02 失败"); break; default: MessageBox.Show("失败"); break; } //验证通过,发送文件 if (send_file) { if (transLen < fileLenth) { int len = fs.Read(sendBuf, 5, 1024); Console.WriteLine("len:" + len.ToString()); if (len > 0) { uint crcValue = Fn_GetCRC32(sendBuf, 5, 1024); byte[] crcBytes = new byte[4]; for (int i = 4; i > 0; i--) { crcBytes[4 - i] = (byte)(crcValue & 0xFF); crcValue >>= 8; } for (int i = 0; i < 4; i++) { sendBuf[1029 + i] = crcBytes[i]; } transLen += len; comm.DiscardOutBuffer(); Console.WriteLine("-----清空发送缓冲区-----"); comm.Write(sendBuf, 0, sendBuf.Length); Console.WriteLine("transLen:" + transLen.ToString()); Console.WriteLine("------------------------------------"); } } else { MessageBox.Show("烧写完成"); try { fs.Close(); comm.Close(); } catch (Exception) { } } send_file = false; } } } ```

使用 GridControl导出数据

使用Gridcontrol导出Excel 怎么设置Excel的行高 自动适应

小白,写了个无限循环,一旦调用便会很快崩溃

想把一个单次识别函数改为连续识别,核心代码不会修改,所以直接用了无限循环 bool flag=false; ……//事件触发 flag = !flag; for (int circle = 0; circle < 1; circle--) { if (flag) { ……//识别程序 } circle = 0; } 有什么好的改进方式吗? 明明每次识别后都会释放,为什么运行时间一长还是会崩溃?

为什么panel1展示的内容不全

我在主窗口中放了一个panel1,让子窗口嵌进去,主窗口程序如下 ``` public Form1() { InitializeComponent(); this.Size = Screen.PrimaryScreen.Bounds.Size; } private void Form1_Load(object sender, EventArgs e) { w1 = new Win1();//综合评估 w2 = new Win2();//单项分析 w3 = new Win3();//数据库 w4 = new Win4();//系统设置 w5 = new Win5();//组 } private void toolStripButton1_Click(object sender, EventArgs e) { this.panel1.Controls.Clear(); // 清空原有的控件 w1.TopLevel = false; // 非顶级窗口 w1.FormBorderStyle = FormBorderStyle.None; // 不显示标题栏 //w1.WindowState = FormWindowState.Maximized; // 填充panel w1.Dock = System.Windows.Forms.DockStyle.Fill; // 填充panel this.panel1.Controls.Add(w1); // 添加w1窗体 w1.Show(); flag = true; } ``` 启动时摁完toolStripButton1,子窗口嵌在panel1中,但在panel1中只显示的子窗口的一部分,为什么

程序员的兼职技能课

获取讲师答疑方式: 在付费视频第一节(触摸命令_ALL)片头有二维码及加群流程介绍 限时福利 原价99元,今日仅需39元!购课添加小助手(微信号:csdn590)按提示还可领取价值800元的编程大礼包! 讲师介绍: 苏奕嘉&nbsp;前阿里UC项目工程师 脚本开发平台官方认证满级(六级)开发者。 我将如何教会你通过【定制脚本】赚到你人生的第一桶金? 零基础程序定制脚本开发课程,是完全针对零脚本开发经验的小白而设计,课程内容共分为3大阶段: ①前期将带你掌握Q开发语言和界面交互开发能力; ②中期通过实战来制作有具体需求的定制脚本; ③后期将解锁脚本的更高阶玩法,打通任督二脉; ④应用定制脚本合法赚取额外收入的完整经验分享,带你通过程序定制脚本开发这项副业,赚取到你的第一桶金!

Windows版YOLOv4目标检测实战:训练自己的数据集

课程演示环境:Windows10; cuda 10.2; cudnn7.6.5; Python3.7; VisualStudio2019; OpenCV3.4 需要学习ubuntu系统上YOLOv4的同学请前往:《YOLOv4目标检测实战:训练自己的数据集》 课程链接:https://edu.csdn.net/course/detail/28745 YOLOv4来了!速度和精度双提升! 与 YOLOv3 相比,新版本的 AP (精度)和 FPS (每秒帧率)分别提高了 10% 和 12%。 YOLO系列是基于深度学习的端到端实时目标检测方法。本课程将手把手地教大家使用labelImg标注和使用YOLOv4训练自己的数据集。课程实战分为两个项目:单目标检测(足球目标检测)和多目标检测(足球和梅西同时检测)。 本课程的YOLOv4使用AlexyAB/darknet,在Windows系统上做项目演示。包括:安装软件环境、安装YOLOv4、标注自己的数据集、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计(mAP计算)和先验框聚类分析。还将介绍改善YOLOv4目标检测性能的技巧。 除本课程《Windows版YOLOv4目标检测实战:训练自己的数据集》外,本人将推出有关YOLOv4目标检测的系列课程。请持续关注该系列的其它视频课程,包括: 《Windows版YOLOv4目标检测实战:人脸口罩佩戴检测》 《Windows版YOLOv4目标检测实战:中国交通标志识别》 《Windows版YOLOv4目标检测:原理与源码解析》

lena全身原图(非256*256版本,而是全身原图)

lena全身原图(非256*256版本,而是全身原图) lena原图很有意思,我们通常所用的256*256图片是在lena原图上截取了头部部分的256*256正方形得到的. 原图是花花公子杂志上的一个

快速入门Android开发 视频 教程 android studio

这是一门快速入门Android开发课程,顾名思义是让大家能快速入门Android开发。 学完能让你学会如下知识点: Android的发展历程 搭建Java开发环境 搭建Android开发环境 Android Studio基础使用方法 Android Studio创建项目 项目运行到模拟器 项目运行到真实手机 Android中常用控件 排查开发中的错误 Android中请求网络 常用Android开发命令 快速入门Gradle构建系统 项目实战:看美图 常用Android Studio使用技巧 项目签名打包 如何上架市场

Java调用微信支付

Java 使用微信支付 一. 准备工作 1.

汽车租赁管理系统需求分析规格说明书

汽车租赁管理系统需求分析规格说明书,这只是一个模板,如果有不会的可以借鉴一下,还是蛮详细的。。。。

C/C++跨平台研发从基础到高阶实战系列套餐

一 专题从基础的C语言核心到c++ 和stl完成基础强化; 二 再到数据结构,设计模式完成专业计算机技能强化; 三 通过跨平台网络编程,linux编程,qt界面编程,mfc编程,windows编程,c++与lua联合编程来完成应用强化 四 最后通过基于ffmpeg的音视频播放器,直播推流,屏幕录像,

程序员的算法通关课:知己知彼(第一季)

【超实用课程内容】 程序员对于算法一直又爱又恨!特别是在求职面试时,算法类问题绝对是不可逃避的提问点!本门课程作为算法面试系列的第一季,会从“知己知彼”的角度,聊聊关于算法面试的那些事~ 【哪些人适合学习这门课程?】 求职中的开发者,对于面试算法阶段缺少经验 想了解实际工作中算法相关知识 在职程序员,算法基础薄弱,急需充电 【超人气讲师】 孙秀洋&nbsp;| 服务器端工程师 硕士毕业于哈工大计算机科学与技术专业,ACM亚洲区赛铜奖获得者,先后在腾讯和百度从事一线技术研发,对算法和后端技术有深刻见解。 【课程如何观看?】 PC端:https://edu.csdn.net/course/detail/27272 移动端:CSDN 学院APP(注意不是CSDN APP哦) 本课程为录播课,课程无限观看时长,但是大家可以抓紧时间学习后一起讨论哦~

机器学习初学者必会的案例精讲

通过六个实际的编码项目,带领同学入门人工智能。这些项目涉及机器学习(回归,分类,聚类),深度学习(神经网络),底层数学算法,Weka数据挖掘,利用Git开源项目实战等。

Python入门视频精讲

Python入门视频培训课程以通俗易懂的方式讲解Python核心技术,Python基础,Python入门。适合初学者的教程,让你少走弯路! 课程内容包括:1.Python简介和安装 、2.第一个Python程序、PyCharm的使用 、3.Python基础、4.函数、5.高级特性、6.面向对象、7.模块、8.异常处理和IO操作、9.访问数据库MySQL。教学全程采用笔记+代码案例的形式讲解,通俗易懂!!!

我以为我对Mysql事务很熟,直到我遇到了阿里面试官

太惨了,面试又被吊打

深度学习原理+项目实战+算法详解+主流框架(套餐)

深度学习系列课程从深度学习基础知识点开始讲解一步步进入神经网络的世界再到卷积和递归神经网络,详解各大经典网络架构。实战部分选择当下最火爆深度学习框架PyTorch与Tensorflow/Keras,全程实战演示框架核心使用与建模方法。项目实战部分选择计算机视觉与自然语言处理领域经典项目,从零开始详解算法原理,debug模式逐行代码解读。适合准备就业和转行的同学们加入学习! 建议按照下列课程顺序来进行学习 (1)掌握深度学习必备经典网络架构 (2)深度框架实战方法 (3)计算机视觉与自然语言处理项目实战。(按照课程排列顺序即可)

Java62数据提取代码

利用苹果手机微信下面的wx.data文件提取出62数据,通过62可以实现不同设备直接登陆,可以通过文件流的方式用脚本上传到服务器进行解析

Python代码实现飞机大战

文章目录经典飞机大战一.游戏设定二.我方飞机三.敌方飞机四.发射子弹五.发放补给包六.主模块 经典飞机大战 源代码以及素材资料(图片,音频)可从下面的github中下载: 飞机大战源代码以及素材资料github项目地址链接 ————————————————————————————————————————————————————————— 不知道大家有没有打过飞机,喜不喜欢打飞机。当我第一次接触这个东西的时候,我的内心是被震撼到的。第一次接触打飞机的时候作者本人是身心愉悦的,因为周边的朋友都在打飞机, 每

2018年全国大学生计算机技能应用大赛决赛 大题

2018年全国大学生计算机技能应用大赛决赛大题,程序填空和程序设计(侵删)

Lena图像处理测试专业用图,高清完整全身原图

Lena图像处理测试专业用图,高清完整全身原图,该图片很好的包含了平坦区域、阴影和纹理等细节,这些都有益于测试各种不同的图像处理算法。它是一幅很好的测试照片!其次,由于这是一个非常有魅力女人的照片。

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

verilog实现地铁系统售票

使用 verilog 实现地铁售票

Python+OpenCV计算机视觉

Python+OpenCV计算机视觉系统全面的介绍。

Python可以这样学(第四季:数据分析与科学计算可视化)

董付国老师系列教材《Python程序设计(第2版)》(ISBN:9787302436515)、《Python可以这样学》(ISBN:9787302456469)配套视频,在教材基础上又增加了大量内容,通过实例讲解numpy、scipy、pandas、statistics、matplotlib等标准库和扩展库用法。

150讲轻松搞定Python网络爬虫

【为什么学爬虫?】 &nbsp; &nbsp; &nbsp; &nbsp;1、爬虫入手容易,但是深入较难,如何写出高效率的爬虫,如何写出灵活性高可扩展的爬虫都是一项技术活。另外在爬虫过程中,经常容易遇到被反爬虫,比如字体反爬、IP识别、验证码等,如何层层攻克难点拿到想要的数据,这门课程,你都能学到! &nbsp; &nbsp; &nbsp; &nbsp;2、如果是作为一个其他行业的开发者,比如app开发,web开发,学习爬虫能让你加强对技术的认知,能够开发出更加安全的软件和网站 【课程设计】 一个完整的爬虫程序,无论大小,总体来说可以分成三个步骤,分别是: 网络请求:模拟浏览器的行为从网上抓取数据。 数据解析:将请求下来的数据进行过滤,提取我们想要的数据。 数据存储:将提取到的数据存储到硬盘或者内存中。比如用mysql数据库或者redis等。 那么本课程也是按照这几个步骤循序渐进的进行讲解,带领学生完整的掌握每个步骤的技术。另外,因为爬虫的多样性,在爬取的过程中可能会发生被反爬、效率低下等。因此我们又增加了两个章节用来提高爬虫程序的灵活性,分别是: 爬虫进阶:包括IP代理,多线程爬虫,图形验证码识别、JS加密解密、动态网页爬虫、字体反爬识别等。 Scrapy和分布式爬虫:Scrapy框架、Scrapy-redis组件、分布式爬虫等。 通过爬虫进阶的知识点我们能应付大量的反爬网站,而Scrapy框架作为一个专业的爬虫框架,使用他可以快速提高我们编写爬虫程序的效率和速度。另外如果一台机器不能满足你的需求,我们可以用分布式爬虫让多台机器帮助你快速爬取数据。 &nbsp; 从基础爬虫到商业化应用爬虫,本套课程满足您的所有需求! 【课程服务】 专属付费社群+每周三讨论会+1v1答疑

获取Linux下Ftp目录树并逐步绑定到treeview

在linux下抓取目录树,双击后获取该节点子节点(逐步生成)。另外有两个类,一个是windows下的(一次性获取目录树),一个是linux下的(足部获取目录树)

YOLOv3目标检测实战系列课程

《YOLOv3目标检测实战系列课程》旨在帮助大家掌握YOLOv3目标检测的训练、原理、源码与网络模型改进方法。 本课程的YOLOv3使用原作darknet(c语言编写),在Ubuntu系统上做项目演示。 本系列课程包括三门课: (1)《YOLOv3目标检测实战:训练自己的数据集》 包括:安装darknet、给自己的数据集打标签、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计(mAP计算和画出PR曲线)和先验框聚类。 (2)《YOLOv3目标检测:原理与源码解析》讲解YOLOv1、YOLOv2、YOLOv3的原理、程序流程并解析各层的源码。 (3)《YOLOv3目标检测:网络模型改进方法》讲解YOLOv3的改进方法,包括改进1:不显示指定类别目标的方法 (增加功能) ;改进2:合并BN层到卷积层 (加快推理速度) ; 改进3:使用GIoU指标和损失函数 (提高检测精度) ;改进4:tiny YOLOv3 (简化网络模型)并介绍 AlexeyAB/darknet项目。

手把手实现Java图书管理系统(附源码)

【超实用课程内容】 本课程演示的是一套基于Java的SSM框架实现的图书管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的java人群。详细介绍了图书管理系统的实现,包括:环境搭建、系统业务、技术实现、项目运行、功能演示、系统扩展等,以通俗易懂的方式,手把手的带你从零开始运行本套图书管理系统,该项目附带全部源码可作为毕设使用。 【课程如何观看?】 PC端:https://edu.csdn.net/course/detail/27513 移动端:CSDN 学院APP(注意不是CSDN APP哦) 本课程为录播课,课程2年有效观看时长,大家可以抓紧时间学习后一起讨论哦~ 【学员专享增值服务】 源码开放 课件、课程案例代码完全开放给你,你可以根据所学知识,自行修改、优化

微信小程序开发实战之番茄时钟开发

微信小程序番茄时钟视频教程,本课程将带着各位学员开发一个小程序初级实战类项目,针对只看过官方文档而又无从下手的开发者来说,可以作为一个较好的练手项目,对于有小程序开发经验的开发者而言,可以更好加深对小程序各类组件和API 的理解,为更深层次高难度的项目做铺垫。

Java 最常见的 200+ 面试题:面试必备

这份面试清单是从我 2015 年做了 TeamLeader 之后开始收集的,一方面是给公司招聘用,另一方面是想用它来挖掘在 Java 技术栈中,还有那些知识点是我不知道的,我想找到这些技术盲点,然后修复它,以此来提高自己的技术水平。虽然我是从 2009 年就开始参加编程工作了,但我依旧觉得自己现在要学的东西很多,并且学习这些知识,让我很有成就感和满足感,那所以何乐而不为呢? 说回面试的事,这份面试...

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

三个项目玩转深度学习(附1G源码)

从事大数据与人工智能开发与实践约十年,钱老师亲自见证了大数据行业的发展与人工智能的从冷到热。事实证明,计算机技术的发展,算力突破,海量数据,机器人技术等,开启了第四次工业革命的序章。深度学习图像分类一直是人工智能的经典任务,是智慧零售、安防、无人驾驶等机器视觉应用领域的核心技术之一,掌握图像分类技术是机器视觉学习的重中之重。针对现有线上学习的特点与实际需求,我们开发了人工智能案例实战系列课程。打造:以项目案例实践为驱动的课程学习方式,覆盖了智能零售,智慧交通等常见领域,通过基础学习、项目案例实践、社群答疑,三维立体的方式,打造最好的学习效果。

微信小程序 实例汇总 完整项目源代码

微信小程序 实例汇总 完整项目源代码

基于西门子S7—1200的单部六层电梯设计程序,1部6层电梯

基于西门子S7—1200的单部六层电梯设计程序,1部6层电梯。 本系统控制六层电梯, 采用集选控制方式。 为了完成设定的控制任务, 主要根据电梯输入/输出点数确定PLC 的机型。 根据电梯控制的要求,

Rabit兔子点云模型.zip

加载点云模型导入PCL点云库,有三种格式的点云兔子,压缩包总共有ply/pcd/xyz三种格式,可以结合我的博客内容练习怎么加载显示

相关热词 c#分级显示数据 c# 不区分大小写替换 c#中调用就java c#正则表达式 验证小数 c# vscode 配置 c#三维数组能存多少数据 c# 新建excel c#多个文本框 c#怎么创建tcp通讯 c# mvc 电子病例
立即提问