使用c#在vs2005下写的换桌面图片的小程序(from: http://www.wangchao.net.cn/bbsdetail_26766.html)

本文介绍了一个简单的Windows应用程序,该程序允许用户从本地文件中选择一张.bmp格式的图片并将其设置为桌面背景。通过使用pictureBox和OpenFileDialog等控件,用户可以预览所选图片,并通过点击按钮完成设置。

首先,建一个windows应用程序,所需控件有pictureBox, OpenFileDialog, textBox, 2个Button

其次,构造函数前添加

[DllImport("user32.dll", CharSet = CharSet.Auto)]

        public static extern int SystemParametersInfo(int uAction, int uParam, string lpvParam, int fuWinIni);

        private string filePath;
添加两个Button的click事件
//桌面只能显示bmp图片

private void button1_Click(object sender, EventArgs e)

        {

            openFileDialog1.InitialDirectory = @"C:/";  //打开的初始位置

            pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage; //设置图片显示的大小

            if (openFileDialog1.ShowDialog() == DialogResult.OK)

            {

                this.textBox1.Text = openFileDialog1.FileName; 

                string[] strA = this.textBox1.Text.Split('.');

                Bitmap bm = new Bitmap(this.textBox1.Text);

                //只选择bmp格式的图片

                if (strA[1] != "bmp")

                {

                    //filePath = strA[0] + ".bmp";

                    //bm.Save(filePath);

                    MessageBox.show("not bmp");

                    this.button2.enabled = false;

                }

                else

                {

                    filePath = this.textBox1.Text;

                    this.pictureBox1.Image = bm;

                }

            }

        }

        //设置桌面,其实只用一句话

        private void button2_Click(object sender, EventArgs e)

        {

            int nResult;

            if (File.Exists(filePath))

            {

                nResult = SystemParametersInfo(20, 1, filePath, 0x1 | 0x2);

                if (nResult == 0)

                {

                    MessageBox.Show("picture is not changed");

                }

                else

                {

                    MessageBox.Show("picture has been changed");

                }



            }

            else

            {

                MessageBox.Show("pic is not existed");

            }

        }
个人觉得挺不错,所以拿来试试,结果还不错
public void dealZxSgAndCopyData(String today) { log.info("dealZxSgAndCopyData start "); //从临时表取出初始结果,开始跑增信方关联关系 this.dealZxAdjust(today); log.info("dealZxAdjust end "); //跑手工调整 this.doSgAdjust(); log.info("doSgAdjust end "); //跑批完成,将数据移至正式表,都是当日全量数据全删全增 //明细表 // 20230506 手工开启事务 // TransactionStatus transactionStatus = platformTransactionManager.getTransaction(transactionDefinition); try { WarnTriggerDetail validate = new WarnTriggerDetail(); validate.setMonitorDate(today); mapper.deleteByDate(validate);//删除当日明细表数据 mapper.insertAll(); //结果表 resultMapper.deleteByDate(today);//删除当日结果表数据 resultMapper.insertAll(); // //20240813 风险画像增加画像预警,只保存每月月末数据,最新数据 // if (DateUtil.isLastDayOfMonth(today) || today.equals(DateUtil.getToday())){ // mapper.deleteByDatePortrait(validate);//删除当日明细表数据 // mapper.insertAllPortrait(); // resultMapper.deleteByDatePortrait(today);//删除当日结果表数据 // resultMapper.insertAllPortrait(); // try { // String yesterday = DateUtil.add(today,-1); // if (!DateUtil.isLastDayOfMonth(yesterday)){ // validate = new WarnTriggerDetail(); // validate.setMonitorDate(yesterday); // mapper.deleteByDatePortrait(validate);//删除昨天明细表数据 // resultMapper.deleteByDatePortrait(yesterday);//删除昨天结果表数据 // } // }catch (Exception e){ // log.error("系统异常:",e); // } // } //最新预警数据处理20230109,非当日数据不处理 if (today.equals(DateUtil.getToday())){ warnResultInfoNewMapper.deleteAll(); // try { // log.info("睡眠开始"); // Thread.sleep(1000*60*3); // log.info("睡眠结束"); // } catch (Exception e) { // log.error("系统异常:",e); // } warnResultInfoNewMapper.insertAll(); warnTriggerDetailNewMapper.deleteAll(); warnTriggerDetailNewMapper.insertAll(); // /** // * 先删后增 // * 插入增信措施交易对手历史表后 将作为融资方增信方管理人数据新增ODS_RATIO_SPLIT_HIS_MAXDATE临时表 // * 提升单一客户统一风险视图-关联业务信息查询最大日期效率 // */ // String tdate = riskPortraitConfigDateMapper.qryWarnDateByMonitorDate(today); // odsRatioMapper.deleteAll(tdate);// 20230628 统一风险视图二阶段,将该方法放到预警的事务中,跟预警一个事务 // // odsRatioMapper.insertAll(tdate); // //风险画像预警、集中度月份维护 // riskPortraitConfigDateBiz.addWarnData(today); // redisUtil.set(MonitorDateCache,today); } // platformTransactionManager.commit(transactionStatus); } catch (Exception e) { log.error("系统异常:",e); log.error("e={}",e); // platformTransactionManager.rollback(transactionStatus); } //最后一步,存历史,包括信号表、差异化表(行业阈值、差异化)、等级对照表、预警等级调整名单 // this.saveHistory(today); log.info("dealZxSgAndCopyData end "); } public void dealZxAdjust(String today) { List<WarnResultInfoTemp> endList = warnResultInfoTempMapper.selectAll(); if (endList.size() > 0) { for (WarnResultInfoTemp vo : endList) { this.doZxAdjust(vo); } } } public void doZxAdjust(WarnResultInfoTemp vo) { String jg = "1";//较高风险 生效 0-失效 1-生效 String hg = "1";//很高风险 生效 0-失效 1-生效 //add by wangchao 20220302 判断增信方关联关系信号是否生效 WarnTriggerDetailTemp zx = new WarnTriggerDetailTemp(); zx.setSignalCode("060101"); List<WarnTriggerDetailTemp> jgSiganl = warnTriggerDetailTempMapper.select(zx); if (jgSiganl.size() == 0) { jg = "0"; } zx.setSignalCode("060102"); List<WarnTriggerDetailTemp> hgSiganl = warnTriggerDetailTempMapper.select(zx); if (hgSiganl.size() == 0) { hg = "0"; } if (jg.equals("1") || hg.equals("1")) { WarnTriggerDetailTemp detail = new WarnTriggerDetailTemp(); detail.setMonitorDate(vo.getMonitorDate()); detail.setTdate(vo.getTdate()); detail.setItcode2(vo.getItcode2()); detail.setBatch(vo.getBatch()); String info = ""; int zxyjnum = 0; int zxgznum = 0; String mathvalue = ""; //查找客户增信方 List<WarnResultInfo> zxlist = resultMapper.queryZx(detail); if (zxlist.size() > 0) {//有增信方 if (hg.equals("1")) {//很高生效 info = ""; mathvalue = ""; Map<String, String> hgmap = new HashMap<>(); for (WarnResultInfo zxinfo : zxlist) { int zxcount = this.getCount(zxinfo.getItname(), ","); if (zxcount == 0) {//不拆逗号 String a = hgmap.get(zxinfo.getItname()); if (Assert.isNullOrEmpty(a)) { detail.setItname(zxinfo.getItname()); int zxyj = resultMapper.queryZengxinYJ(detail);//预警等级增信方 if (zxyj != 0) {//触发 zxyjnum++; info = info + "该客户的增信方" + zxinfo.getItname() + "存在很高风险;"; } mathvalue = mathvalue + zxinfo.getItname() + "|"; hgmap.put(zxinfo.getItname(), zxinfo.getItname()); } } else {//需要拆分逗号 String[] zxi = this.tranZxArray(zxinfo.getItname()); for (int i = 0; i < zxcount; i++) { String a = hgmap.get(zxi[i]); if (Assert.isNullOrEmpty(a)) { detail.setItname(zxi[i]); int zxyj = resultMapper.queryZengxinYJ(detail);//预警等级增信方 if (zxyj != 0) {//触发 zxyjnum++; info = info + "该客户的增信方" + zxi[i] + "存在很高风险;"; } mathvalue = mathvalue + zxi[i] + "|"; hgmap.put(zxi[i], zxi[i]); } } } } if (zxyjnum != 0) {//触发,更新表 info = info.substring(0, info.length() - 1) + "。"; detail.setSignalCode("060102"); detail = warnTriggerDetailTempMapper.queryDetail(detail);//从临时表中取数 info = info.replace("。。", "。"); info = info.replace("。;", "。"); detail.setTriggerInfo(info); detail.setMonitorTime(DateUtil.getTime()); detail.setCreateDate(DateUtil.getToday()); detail.setMathResult(mathvalue); if (detail.getIstrigger().equals("0")) { vo.setNoFinanceCount(vo.getNoFinanceCount() + 1); vo.setSignalCount(vo.getSignalCount() + 1);//总数量加1 } this.updateSelectiveTempById(detail); detail.setTriggerInfo(""); detail.setMathResult(""); } else {//未触发,更新表 detail.setSignalCode("060102"); detail = warnTriggerDetailTempMapper.queryDetail(detail);//从临时表中取数 detail.setMathResult(mathvalue + "无(除自身外)预警等级增信方信息"); detail.setTriggerInfo(""); detail.setMonitorTime(DateUtil.getTime()); detail.setCreateDate(DateUtil.getToday()); this.updateSelectiveTempById(detail); } } if (jg.equals("1")) {//较高生效 info = ""; mathvalue = ""; Map<String, String> jgmap = new HashMap<>(); for (WarnResultInfo zxinfo : zxlist) { int zxcount = this.getCount(zxinfo.getItname(), ","); if (zxcount == 0) {//单个儿增信方名称 String a = jgmap.get(zxinfo.getItname()); if (Assert.isNullOrEmpty(a)) { detail.setItname(zxinfo.getItname()); int zxgz = resultMapper.queryZengxinGZ(detail);//关注等级增信方 if (zxgz != 0) {//触发 zxgznum++; info = info + "该客户的增信方" + zxinfo.getItname() + "存在较高风险;"; } mathvalue = mathvalue + zxinfo.getItname() + "|"; jgmap.put(zxinfo.getItname(), zxinfo.getItname()); } } else {//需要拆分逗号 String[] zxi = this.tranZxArray(zxinfo.getItname()); for (int i = 0; i < zxcount; i++) { String a = jgmap.get(zxi[i]); if (Assert.isNullOrEmpty(a)) { detail.setItname(zxi[i]); int zxgz = resultMapper.queryZengxinGZ(detail);//关注等级增信方 if (zxgz != 0) {//触发 zxgznum++; info = info + "该客户的增信方" + zxi[i] + "存在较高风险;"; } mathvalue = mathvalue + zxi[i] + "|"; jgmap.put(zxi[i], zxi[i]); } } } } if (zxgznum != 0) {//触发,更新表 info = info.substring(0, info.length() - 1) + "。"; detail.setSignalCode("060101"); detail = warnTriggerDetailTempMapper.queryDetail(detail);//从临时表中取数 info = info.replace("。。", "。"); info = info.replace("。;", "。"); detail.setTriggerInfo(info); detail.setMonitorTime(DateUtil.getTime()); detail.setCreateDate(DateUtil.getToday()); detail.setMathResult(mathvalue); if (detail.getIstrigger().equals("0")) {//没登记过触发 vo.setNoFinanceCount(vo.getNoFinanceCount() + 1); vo.setSignalCount(vo.getSignalCount() + 1);//总数量加1 } this.updateSelectiveTempById(detail); detail.setTriggerInfo(""); detail.setMathResult(""); } else {//未触发,更新 detail.setSignalCode("060101"); detail = warnTriggerDetailTempMapper.queryDetail(detail);//从临时表中取数 detail.setMathResult(mathvalue + "无(除自身外)关注等级增信方信息"); detail.setTriggerInfo(""); detail.setMonitorTime(DateUtil.getTime()); detail.setCreateDate(DateUtil.getToday()); this.updateSelectiveTempById(detail); } } } else {//该客户无增信方信息 if (hg.equals("1")) {//很高生效 detail.setSignalCode("060102"); detail = warnTriggerDetailTempMapper.queryDetail(detail);//从临时表中取数 detail.setMathResult("该客户无增信方"); detail.setTriggerInfo(""); detail.setMonitorTime(DateUtil.getTime()); detail.setCreateDate(DateUtil.getToday()); this.updateSelectiveTempById(detail); } if (jg.equals("1")) {//较高生效 detail.setSignalCode("060101"); detail = warnTriggerDetailTempMapper.queryDetail(detail);//从临时表中取数 detail.setMathResult("该客户无增信方"); detail.setTriggerInfo(""); detail.setMonitorTime(DateUtil.getTime()); detail.setCreateDate(DateUtil.getToday()); this.updateSelectiveTempById(detail); } } //调整预警等级 if (zxyjnum > 0 && hg.equals("1")) { if (vo.getWarnLevelCode() < 4) { vo.setWarnLevel("预警"); vo.setWarnLevelCode(4); if (Assert.notNullOrEmpty(vo.getAdjusttype())) { vo.setAdjusttype(vo.getAdjusttype() + ",2"); } else { vo.setAdjusttype("2"); } WarnRuleSignal v = new WarnRuleSignal(); v.setSignalCode("060102"); v = signalMapper.selectOne(v); String x = v.getSignalLevelCode(); if (Assert.isNullOrEmpty(vo.getHighestLevel()) || ("99").equals(vo.getHighestLevel()) || ("0".equals(vo.getHighestLevel()))) {//处理历史数据用,只有历史数据可能存在0等级 vo.setHighestLevel(x); } else {//md by wangchao 20220125 编码越小等级越高 99-无等级 if (vo.getHighestLevel().compareTo(x) > 0) { vo.setHighestLevel(x); } } warnResultInfoTempMapper.updateByPrimaryKey(vo);//改为临时表 } } else if (zxgznum > 0 && jg.equals("1")) {//(zengxinGZList.size()>0&&jg.equals("1")) { if (vo.getWarnLevelCode() < 3) { vo.setWarnLevel("关注"); vo.setWarnLevelCode(3); if (Assert.notNullOrEmpty(vo.getAdjusttype())) { vo.setAdjusttype(vo.getAdjusttype() + ",2"); } else { vo.setAdjusttype("2"); } WarnRuleSignal v = new WarnRuleSignal(); v.setSignalCode("060101"); v = signalMapper.selectOne(v); String x = v.getSignalLevelCode(); if (Assert.isNullOrEmpty(vo.getHighestLevel()) || ("99").equals(vo.getHighestLevel()) || ("0".equals(vo.getHighestLevel()))) {//处理历史数据用,只有历史数据可能存在0等级 vo.setHighestLevel(x); } else {//md by wangchao 20220125 编码越xiao等级越高 99-无等级 if (vo.getHighestLevel().compareTo(x) > 0) { vo.setHighestLevel(x); } } warnResultInfoTempMapper.updateByPrimaryKey(vo);//改为临时表 } } } } public void doSgAdjust() { String info = ""; String yb = "1";//手工调整为一般信号生效 0-失效 1-生效 String gz = "1";//手工调整为关注信号生效 0-失效 1-生效 String yj = "1";//手工调整为预警信号生效 0-失效 1-生效 //add by wangchao 20220302 判断手工调整信号是否生效 WarnTriggerDetailTemp sg = new WarnTriggerDetailTemp(); sg.setSignalCode("070101"); List<WarnTriggerDetailTemp> gzSiganl = warnTriggerDetailTempMapper.select(sg); if (gzSiganl.size() == 0) { gz = "0"; } sg.setSignalCode("070201"); List<WarnTriggerDetailTemp> yjSiganl = warnTriggerDetailTempMapper.select(sg); if (yjSiganl.size() == 0) { yj = "0"; } sg.setSignalCode("070301"); List<WarnTriggerDetailTemp> ybSiganl = warnTriggerDetailTempMapper.select(sg); if (ybSiganl.size() == 0) { yb = "0"; } List<WarnResultInfoTemp> wri = warnResultInfoTempMapper.selectAll(); if(Assert.notNull(wri) && wri.size()>0){ if (yb.equals("1") || gz.equals("1") || yj.equals("1")) { //WarnRuleLevelAdjustment adjustvo = adjustMapper.queryAdjustList(vo.getItcode2());//人工调整名单 List<WarnRuleLevelAdjustment> wrl = adjustMapper.selectAll();//人工调整名单 if (Assert.notNull(wrl) && wrl.size()>0) { for (WarnRuleLevelAdjustment adjustvo : wrl) { WarnTriggerDetailTemp detail = new WarnTriggerDetailTemp(); detail.setItcode2(adjustvo.getItcode2()); if (wri.stream().anyMatch(e -> adjustvo.getItcode2().equals(e.getItcode2()))) { //if (adjustvo.getItcode2().equals(vo.getItcode2())) { WarnResultInfoTemp vo1 = new WarnResultInfoTemp(); vo1.setItcode2(adjustvo.getItcode2()); WarnResultInfoTemp vo = warnResultInfoTempMapper.selectOne(vo1); //登记信号触发明细表,触发07 if (adjustvo.getWarn_level_code() == 3 && gz.equals("1")) { detail.setSignalCode("070101"); info = "该客户已被人工调整至关注级别。"; WarnRuleSignal v = new WarnRuleSignal(); v.setSignalCode("070101"); v = signalMapper.selectOne(v); String x = v.getSignalLevelCode(); if (Assert.isNullOrEmpty(vo.getHighestLevel()) || ("99").equals(vo.getHighestLevel()) || ("0".equals(vo.getHighestLevel()))) {//处理历史数据用,只有历史数据可能存在0等级 vo.setHighestLevel(x); } else {//md by wangchao 20220125 编码越xiao等级越高 99-无等级 if (vo.getHighestLevel().compareTo(x) > 0) { vo.setHighestLevel(x); } } } else if (adjustvo.getWarn_level_code() == 4 && yj.equals("1")) { detail.setSignalCode("070201"); info = "该客户已被人工调整至预警级别。"; WarnRuleSignal v = new WarnRuleSignal(); v.setSignalCode("070201"); v = signalMapper.selectOne(v); String x = v.getSignalLevelCode(); if (Assert.isNullOrEmpty(vo.getHighestLevel()) || ("99").equals(vo.getHighestLevel()) || ("0".equals(vo.getHighestLevel()))) {//处理历史数据用,只有历史数据可能存在0等级 vo.setHighestLevel(x); } else {//md by wangchao 20220125 编码越xiao等级越高 99-无等级 if (vo.getHighestLevel().compareTo(x) > 0) { vo.setHighestLevel(x); } } } else if (adjustvo.getWarn_level_code() == 2 && yb.equals("1")) { detail.setSignalCode("070301"); info = "该客户已被人工调整至一般级别。"; WarnRuleSignal v = new WarnRuleSignal(); v.setSignalCode("070301"); v = signalMapper.selectOne(v); String x = v.getSignalLevelCode(); if (Assert.isNullOrEmpty(vo.getHighestLevel()) || ("99").equals(vo.getHighestLevel()) || ("0".equals(vo.getHighestLevel()))) {//处理历史数据用,只有历史数据可能存在0等级 vo.setHighestLevel(x); } else {//md by wangchao 20220125 编码越小等级越高 99-无等级 if (vo.getHighestLevel().compareTo(x) > 0) { vo.setHighestLevel(x); } } } else { // detail.setSignalCode("070101"); // detail.setErrinfo("预警等级调整名单中预警等级填错误"); // detail = warnRuleTempmapper.queryDetail(detail);//从临时表中取数 // detail.setTriggerInfo(info); // detail.setMonitorTime(DateUtil.getTime()); // this.updateSelectiveTempById(detail); detail.setTypecode1("07"); List<WarnTriggerDetailTemp> sgList = warnTriggerDetailTempMapper.querySgDetail(detail);//从临时表中取数 for (WarnTriggerDetailTemp sgvo : sgList) { sgvo.setMathResult("无对应等级调整信息"); sgvo.setTriggerInfo(""); sgvo.setMonitorTime(DateUtil.getTime()); sgvo.setCreateDate(DateUtil.getToday()); this.updateSelectiveTempById(sgvo); //TODO 收集数据最后更新一次 } continue; } detail = warnTriggerDetailTempMapper.queryDetail(detail);//从临时表中取数 detail.setTriggerInfo(info); detail.setMonitorTime(DateUtil.getTime()); detail.setCreateDate(DateUtil.getToday()); if (detail.getIstrigger().equals("0")) {//没登记过触发 vo.setNoFinanceCount(vo.getNoFinanceCount() + 1);//非财务触发信号数量加1 vo.setSignalCount(vo.getSignalCount() + 1);//总数量加1 } this.updateSelectiveTempById(detail); detail.setTriggerInfo(""); info = ""; vo.setWarnLevel(adjustvo.getWarn_level()); vo.setWarnLevelCode(adjustvo.getWarn_level_code()); vo.setAdjusttype("1");//手工调整 //return vo; vo.setMonitorTime(DateUtil.getTime()); vo.setCreateDate(DateUtil.getToday()); warnResultInfoTempMapper.updateByPrimaryKeySelective(vo); } else { detail.setTypecode1("07"); List<WarnTriggerDetailTemp> sgList = warnTriggerDetailTempMapper.querySgDetail(detail);//从临时表中取数 for (WarnTriggerDetailTemp sgvo : sgList) { sgvo.setMathResult("手工调整名单中无该客户信息"); sgvo.setTriggerInfo(""); sgvo.setMonitorTime(DateUtil.getTime()); sgvo.setCreateDate(DateUtil.getToday()); this.updateSelectiveTempById(sgvo); } } } }else{ /*detail.setTypecode1("07"); List<WarnTriggerDetailTemp> sgList = warnRuleTempmapper.querySgDetail(detail);//需改为从临时表中取数 for (WarnTriggerDetailTemp sgvo : sgList) { sgvo.setMathResult("无人工调整名单信息"); sgvo.setTriggerInfo(""); sgvo.setMonitorTime(DateUtil.getTime()); sgvo.setCreateDate(DateUtil.getToday()); this.updateSelectiveTempById(sgvo); }*/ } }//return vo; } } public void updateSelectiveTempById(WarnTriggerDetailTemp entity) {//改为临时表 ValidateGenerator.validateEntity(entity, this.warnTriggerDetailTempMapper, Type.UPDATE); EntityUtils.setUpdatedInfo(entity); if (Assert.isNullOrEmpty(entity.getTriggerInfo())) { entity.setIstrigger("0"); } else { entity.setIstrigger("1"); } warnTriggerDetailTempMapper.updateByPrimaryKeySelective(entity); } 请优化上面的java代码,尽可能的减少查询和更新操作
09-23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值