整理了 MapConrol各基本功能的实现代码

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.IO;
  6. using System.Windows.Forms;
  7.  
  8. using ESRI.ArcGIS.Controls;
  9. using ESRI.ArcGIS.esriSystem;
  10. using ESRI.ArcGIS.Carto;
  11. using ESRI.ArcGIS.Geometry;
  12. using ESRI.ArcGIS.Display;
  13. using ESRI.ArcGIS.Geodatabase;
  14.  
  15. namespace MapCtrol    //直接引用时需替换成自己当前的命名空间
  16. {
  17. public class MapBaseOperate
  18. {
  19. /// <summary>
  20. /// 添加SHP文当
  21. /// </summary>
  22. /// <param name="mapControl"></param>
  23. public static void AddShapeFile(IMapControlDefault mapControl)
  24. {
  25. OpenFileDialog openfileDlg = new OpenFileDialog();
  26. openfileDlg.Title = "添加shp图层文件";
  27. openfileDlg.Filter = "map document (*.shp)|*.shp";
  28. openfileDlg.ShowDialog();
  29. string filepath = openfileDlg.FileName;
  30.  
  31. bool exist = File.Exists(filepath);
  32. if (!exist)
  33. {
  34. MessageBox.Show("路径不存在!");
  35. return;
  36. }
  37.  
  38. string path;
  39. string filename;
  40. //int istart = filepath.LastIndexOf("\\");
  41. //int iend = filepath.LastIndexOf(".");
  42. //path = filepath.Substring(0, istart);
  43. //filename = filepath.Substring(istart + 1, iend - istart - 1);
  44.  
  45. FileInfo fileinfo = new FileInfo(filepath);
  46. path = filepath.Substring(0, filepath.Length - fileinfo.Name.Length);
  47. filename = fileinfo.Name;
  48. try
  49. {
  50. //加载图层文件
  51. mapControl.AddShapeFile(path, filename);
  52.  
  53. //设置MapControl的显示范围到数据的全局范围
  54. mapControl.Extent = mapControl.FullExtent;
  55. }
  56. catch (System.Exception ex)
  57. {
  58. MessageBox.Show("添加图层文件失败!" + ex.Message);
  59. }
  60.  
  61. }
  62.  
  63. /// <summary>
  64. /// 添加LYR文当
  65. /// </summary>
  66. /// <param name="mapControl"></param>
  67. public static void AddLayerFile(IMapControlDefault mapControl)
  68. {
  69. OpenFileDialog openfileDlg = new OpenFileDialog();
  70. openfileDlg.Title = "添加lyr图层文件";
  71. openfileDlg.Filter = "map documents (*.lyr)|*.lyr";
  72. openfileDlg.ShowDialog();
  73. string filepath = openfileDlg.FileName;
  74.  
  75. bool exist = File.Exists(filepath);
  76. if (!exist)
  77. {
  78. MessageBox.Show("路径不存在!");
  79. return;
  80. }
  81. try
  82. {
  83. mapControl.AddLayerFromFile(filepath);
  84.  
  85. //设置MapControl的显示范围到数据的全局范围
  86. mapControl.Extent = mapControl.FullExtent;
  87. }
  88. catch (System.Exception ex)
  89. {
  90. MessageBox.Show("添加图层文件失败!" + ex.Message);
  91. }
  92. }
  93.  
  94. /// <summary>
  95. /// 删除地图所有图层
  96. /// </summary>
  97. public static void DeleteAllLayers(IMapControlDefault mapControl)
  98. {
  99. try
  100. {
  101. for (int i = mapControl.LayerCount - 1; i >= 0; i-- )
  102. {
  103. mapControl.DeleteLayer(i);
  104. }
  105. }
  106. catch (System.Exception ex)
  107. {
  108. MessageBox.Show("删除图层失败!" + ex.Message);
  109. }
  110. }
  111.  
  112. /// <summary>
  113. /// 将最底图层,移动到最上层
  114. /// </summary>
  115. public static void MoveLayerToTop(IMapControlDefault mapControl)
  116. {
  117.  
  118. try
  119. {
  120. if (mapControl.LayerCount > 0)
  121. {
  122. mapControl.MoveLayerTo(mapControl.LayerCount - 1, 0);
  123. }
  124. }
  125. catch (System.Exception ex)
  126. {
  127. MessageBox.Show("移动图层失败!" + ex.Message);
  128. }
  129. }
  130.  
  131. /// <summary>
  132. /// 加载地图文当
  133. /// </summary>
  134. /// <param name="mapControl"></param>
  135. public static void LoadMapDocument(IMapControlDefault mapControl)
  136. {
  137. OpenFileDialog openfileDlg = new OpenFileDialog();
  138. openfileDlg.Title = "加载地图文当";
  139. openfileDlg.Filter = "map document (*.mxd)|*.mxd";
  140. openfileDlg.ShowDialog();
  141. string filepath = openfileDlg.FileName;
  142. if (mapControl.CheckMxFile(filepath))
  143. {
  144. mapControl.MousePointer = esriControlsMousePointer.esriPointerHourglass;
  145. mapControl.LoadMxFile(filepath, 0, Type.Missing);
  146. mapControl.MousePointer = esriControlsMousePointer.esriPointerDefault;
  147. }
  148. else
  149. {
  150. MessageBox.Show(filepath + "不是有效的地图文当!");
  151. }
  152. }
  153.  
  154. /// <summary>
  155. /// 加载特定地图文当
  156. /// </summary>
  157. /// <param name="mapControl"></param>
  158. public static void LoadSpecificMapDocument(IMapControlDefault mapControl, string specificMapName)
  159. {
  160. OpenFileDialog openfileDlg = new OpenFileDialog();
  161. openfileDlg.Title = "加载特定地图文当";
  162. openfileDlg.Filter = "map document (*.mxd)|*.mxd";
  163. openfileDlg.ShowDialog();
  164. string filepath = openfileDlg.FileName;
  165.  
  166. if (mapControl.CheckMxFile(filepath))
  167. {
  168. if (string.IsNullOrWhiteSpace(specificMapName))
  169. {
  170. int istart = filepath.LastIndexOf("\\");
  171. int iend = filepath.LastIndexOf(".");
  172. specificMapName = filepath.Substring(istart + 1, iend - istart - 1);
  173. }
  174.  
  175. IArray arrayMap = mapControl.ReadMxMaps(filepath, Type.Missing);
  176. for (int i = 0; i < arrayMap.Count; i++)
  177. {
  178. IMap map = arrayMap.get_Element(i) as IMap;
  179. if (specificMapName == map.Name)
  180. {
  181. mapControl.MousePointer = esriControlsMousePointer.esriPointerHourglass;
  182. mapControl.LoadMxFile(filepath, 0, Type.Missing);
  183. mapControl.MousePointer = esriControlsMousePointer.esriPointerDefault;
  184. break;
  185. }
  186. }
  187. }
  188. else
  189. {
  190. MessageBox.Show(filepath + "不是有效的地图文当!");
  191. }
  192. }
  193.  
  194. /// <summary>
  195. /// By MapDocument
  196. /// </summary>
  197. public static IMapDocument LoadMapDoc(IMapControlDefault mapControl)
  198. {
  199. MapDocument mapdoc = new MapDocument();
  200.  
  201. try
  202. {
  203. OpenFileDialog openfileDlg = new OpenFileDialog();
  204. openfileDlg.Title = "加载地图文当";
  205. openfileDlg.Filter = "map document (*.mxd)|*.mxd";
  206. openfileDlg.ShowDialog();
  207. string filepath = openfileDlg.FileName;
  208.  
  209. mapdoc.Open(filepath, "");
  210.  
  211. for (int i = 0; i < mapdoc.MapCount; i++ )
  212. {
  213. mapControl.Map = mapdoc.get_Map(i);
  214. }
  215. mapControl.Refresh();
  216. }
  217. catch (System.Exception ex)
  218. {
  219. MessageBox.Show("加载地图文当失败" + ex.Message);
  220. mapdoc = null;
  221. }
  222. return mapdoc;
  223.  
  224. }
  225.  
  226. /// <summary>
  227. /// By MapDocument
  228. /// </summary>
  229. /// <param name="mapDoc"></param>
  230. public static void SaveMapDoc(IMapDocument mapDoc)
  231. {
  232. if (null == mapDoc)
  233. {
  234. MessageBox.Show("保存地图文档失败!");
  235. return;
  236. }
  237.  
  238. if (mapDoc.get_IsReadOnly(mapDoc.DocumentFilename) == true)
  239. {
  240. MessageBox.Show("文档只读无法保存!");
  241. }
  242.  
  243. try
  244. {
  245. mapDoc.Save(mapDoc.UsesRelativePaths,true);
  246. MessageBox.Show("保存地图文档成功!");
  247.  
  248. }
  249. catch (System.Exception ex)
  250. {
  251. MessageBox.Show("保存地图文档失败!" + ex.Message);
  252. }
  253.  
  254. }
  255.  
  256. /// <summary>
  257. /// By MapDocument
  258. /// </summary>
  259. /// <param name="mapDoc"></param>
  260. public static void SaveAsMapDoc(IMapDocument mapDoc)
  261. {
  262. if (null == mapDoc)
  263. {
  264. MessageBox.Show("保存地图文档失败!");
  265. return;
  266. }
  267.  
  268. if (mapDoc.get_IsReadOnly(mapDoc.DocumentFilename) == true)
  269. {
  270. MessageBox.Show("文档只读无法保存!");
  271. }
  272.  
  273. SaveFileDialog savefiledlg = new SaveFileDialog();
  274. savefiledlg.Title = "保存地图文当";
  275. savefiledlg.Filter = "map document (*.mxd)|*.mxd";
  276. savefiledlg.ShowDialog();
  277. string filepath = savefiledlg.FileName;
  278. try
  279. {
  280. mapDoc.SaveAs(filepath,mapDoc.UsesRelativePaths,true);
  281. MessageBox.Show("保存地图文档成功!");
  282.  
  283. }
  284. catch (System.Exception ex)
  285. {
  286. MessageBox.Show("保存地图文档失败!" + ex.Message);
  287. }
  288.  
  289. }
  290.  
  291. /// <summary>
  292. /// 缩小
  293. /// </summary>
  294. /// <param name="mapControl"></param>
  295. public static void ZoomOut(IMapControlDefault mapControl)
  296. {
  297. try
  298. {
  299. mapControl.MousePointer = esriControlsMousePointer.esriPointerPageZoomOut;
                  //IEnvelope ipEnv = mapControl.TrackRectangle();
                  IEnvelope ipEnv = mapControl.Extent;
                  ipEnv.Expand(2, 2, true);
                  mapControl.Extent = ipEnv;
    }
  300. catch (System.Exception ex)
  301. {
  302. MessageBox.Show("缩小失败!" + ex.Message);
  303. }
  304. }
  305.  
  306. /// <summary>
  307. /// 放大
  308. /// </summary>
  309. /// <param name="mapControl"></param>
  310. public static void ZoomIn(IMapControlDefault mapControl)
  311. {
  312. try
  313. {
  314. mapControl.MousePointer = esriControlsMousePointer.esriPointerPageZoomIn;
                  IEnvelope ipEnv = mapControl.TrackRectangle();
                  if (ipEnv.IsEmpty)
                  {
                      ipEnv = mapControl.Extent;
                      ipEnv.Expand(0.5, 0.5, true);
                  }
                  mapControl.Extent = ipEnv;                  
  315. }
  316. catch (System.Exception ex)
  317. {
  318. MessageBox.Show("放大失败!" + ex.Message);
  319. }
  320. }
  321.  
  322. /// <summary>
  323. /// 漫游
  324. /// </summary>
  325. /// <param name="mapControl"></param>
  326. public static void Pan(IMapControlDefault mapControl)
  327. {
  328. try
  329. {
  330. mapControl.MousePointer = esriControlsMousePointer.esriPointerPagePan;
  331. //IEnvelope ipEnv = mapControl.Extent;
  332. mapControl.Pan();
  333. }
  334. catch (System.Exception ex)
  335. {
  336. MessageBox.Show("漫游失败!" + ex.Message);
  337. }
  338. }
  339.  
  340. /// <summary>
  341. /// 全图
  342. /// </summary>
  343. /// <param name="mapControl"></param>
  344. public static void FullExtent(IMapControlDefault mapControl)
  345. {
  346. try
  347. {
  348. mapControl.Extent = mapControl.FullExtent;
  349. }
  350. catch (System.Exception ex)
  351. {
  352. MessageBox.Show("全图失败!" + ex.Message);
  353. }
  354. }
  355.  
  356. /// <summary>
  357. /// 写文字(待优化)
  358. /// </summary>
  359. /// <param name="mapControl"></param>
  360. /// <param name="pGeom"></param>
  361. /// <param name="pColor"></param>
  362. /// <param name="text"></param>
  363. public static void DrawMapText(IMapControlDefault mapControl, IGeometry pGeom, IRgbColor pColor, string text)
  364. {
  365. try
  366. {
  367. if (null == pColor)
  368. {
  369. pColor = new RgbColorClass();
  370. pColor.Red = 255;
  371. pColor.Green = 0;
  372. pColor.Blue = 0;
  373. }
  374. ITextSymbol textsymbol = new TextSymbolClass();
  375. textsymbol.Color = pColor;
  376. if (null == text)
  377. {
  378. text = "Draw Text";
  379. }
  380. textsymbol.Text = "Text";
  381. object symbol = textsymbol;
  382. mapControl.DrawText(pGeom, text, ref symbol);
  383. }
  384. catch (System.Exception ex)
  385. {
  386. MessageBox.Show("写文字失败!" + ex);
  387. }
  388.  
  389. }
  390.  
  391. /// <summary>
  392. /// 画图
  393. /// </summary>
  394. /// <param name="mapControl"></param>
  395. /// <param name="pGeom"></param>
  396. /// <param name="pColor"></param>
  397. /// <param name="width"></param>
  398. public static void DrawMapShape(IMapControlDefault mapControl, IGeometry pGeom, IRgbColor pColor, int width)
  399. {
  400. try
  401. {
  402. if (null == pColor)
  403. {
  404. pColor = new RgbColorClass();
  405. pColor.Red = 255;
  406. pColor.Green = 255;
  407. pColor.Blue = 0;
  408. }
  409.  
  410. if (width < 1 || width > 20)
  411. {
  412. width = 5;
  413. }
  414. object symbol = null;
  415. if (pGeom.GeometryType == esriGeometryType.esriGeometryPolyline)
  416. {
  417. ISimpleLineSymbol simpleLine = new SimpleLineSymbolClass();
  418. simpleLine.Color = pColor;
  419. simpleLine.Width = width;
  420. symbol = simpleLine;
  421. }
  422. else
  423. {
  424. ISimpleFillSymbol simpleFill = new SimpleFillSymbolClass();
  425. simpleFill.Color = pColor;
  426. symbol = simpleFill;
  427. }
  428.  
  429. mapControl.DrawShape(pGeom, ref symbol);
  430. }
  431. catch (System.Exception ex)
  432. {
  433. MessageBox.Show("画图失败!" + ex);
  434. }
  435. }
  436.  
  437. /// <summary>
  438. /// 颜色
  439. /// </summary>
  440. /// <param name="r"></param>
  441. /// <param name="g"></param>
  442. /// <param name="b"></param>
  443. /// <param name="t"></param>
  444. /// <returns></returns>
  445. public static IRgbColor GetColor(int r, int g, int b, int t)
  446. {
  447. IRgbColor rgbcolor = new RgbColorClass();
  448. rgbcolor.Red = r;
  449. rgbcolor.Green = g;
  450. rgbcolor.Blue = b;
  451. rgbcolor.Transparency = (byte)t;
  452. return rgbcolor;
  453. }
  454.  
  455. /// <summary>
  456. /// 框选指定区域(鹰眼功能)
  457. /// </summary>
  458. /// <param name="envelope">e.NewEnvelope</param>
  459. /// <param name="mapControl"></param>
  460. public static void ShowRectangleByEnvelope(IEnvelope envelope, IMapControlDefault mapControl)
  461. {
  462. try
  463. {
  464. IGraphicsContainer graphicsContainer = mapControl.Map as IGraphicsContainer;
  465. IActiveView activeView = graphicsContainer as IActiveView;
  466.  
  467. //在绘制前,清除axMapControl2中的任何图像元素
  468. graphicsContainer.DeleteAllElements();
  469. IElement element = new RectangleElementClass();
  470. element.Geometry = envelope;
  471. //设置鹰眼中的红线
  472. //产生一个符号对象
  473. ILineSymbol outLineSymbol = new SimpleLineSymbolClass();
  474. outLineSymbol.Width = 2;
  475. outLineSymbol.Color = GetColor(255, 0, 0, 255);
  476.  
  477. //设置颜色属性
  478. //设置填充符号属性
  479. IFillSymbol fillsymbol = new SimpleFillSymbolClass();
  480. fillsymbol.Color = GetColor(9, 0, 0, 0);
  481. fillsymbol.Outline = outLineSymbol;
  482. IFillShapeElement fillShapeElement = element as IFillShapeElement;
  483. fillShapeElement.Symbol = fillsymbol;
  484. graphicsContainer.AddElement((IElement)fillShapeElement, 0);
  485. activeView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null);
  486. }
  487. catch (System.Exception ex)
  488. {
  489. MessageBox.Show("框选指定区域失败!" + ex);
  490. }
  491. }
  492.  
  493. /// <summary>
  494. /// 清除选择
  495. /// </summary>
  496. /// <param name="mapControl"></param>
  497. public static void ClearSelection(IMapControlDefault mapControl)
  498. {
  499. try
  500. {
  501. IActiveView activeView = (IActiveView)mapControl.Map;
  502. //清除数据集前必须先刷新
  503. activeView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, mapControl.get_Layer(0), null);
  504. mapControl.Map.ClearSelection();
  505. activeView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, mapControl.get_Layer(0), null);
  506. }
  507. catch (System.Exception ex)
  508. {
  509. MessageBox.Show("清除选择失败!" + ex);
  510. }
  511. }
  512.  
  513. /// <summary>
  514. /// 名称查询
  515. /// </summary>
  516. /// <param name="mapControl"></param>
  517. /// <param name="value"></param>
  518. public static void SelectByName(IMapControlDefault mapControl, string field, string value)
  519. {
  520. try
  521. {
  522. string selectName = value.Trim();
  523. ILayer layer = mapControl.Map.get_Layer(0);
  524. IFeatureLayer featureLayer = layer as IFeatureLayer;
  525. IFeatureClass featureClass = featureLayer.FeatureClass;
  526. IQueryFilter queryFilter = new QueryFilterClass();
  527. IFeatureCursor featureCursor;
  528. IFeature feature = null; ;
  529. queryFilter.WhereClause = field + " = " + value;
  530. featureCursor = featureClass.Search(queryFilter, true);
  531. feature = featureCursor.NextFeature();
  532. if (null != feature)
  533. {
  534. mapControl.Map.SelectFeature(layer, feature);
  535. mapControl.Refresh(esriViewDrawPhase.esriViewGeoSelection, null, null);
  536. }
  537. }
  538. catch (System.Exception ex)
  539. {
  540. MessageBox.Show("依据名称查询选中要素失败!" + ex);
  541. }
  542. }
  543.  
  544. /// <summary>
  545. /// 依据指定的Geometry(Shape)选中要素
  546. /// </summary>
  547. /// <param name="mapControl"></param>
  548. /// <param name="geometry"></param>
  549. public static void SelectByShape(IMapControlDefault mapControl, IGeometry geometry)
  550. {
  551. try
  552. {
  553. mapControl.Map.SelectByShape(geometry, null, false);
  554. mapControl.Refresh(esriViewDrawPhase.esriViewGeoSelection, null, null);
  555. }
  556. catch (System.Exception ex)
  557. {
  558. MessageBox.Show("依据指定的Geometry(Shape)选中要素失败!" + ex);
  559. }
  560. }
  561.  
  562. /// <summary>
  563. /// 同步到MapControl控件
  564. /// </summary>
  565. public static void CopyToMapControl(IMapControlDefault mapControl, IMapControlDefault toMapControl)
  566. {
  567. try
  568. {
  569. IObjectCopy objCopy = new ObjectCopyClass();
  570. object copyFromMap = mapControl.Map;
  571. object copyMap = objCopy.Copy(copyFromMap);
  572. object copyToMap = toMapControl.ActiveView.FocusMap;
  573. objCopy.Overwrite(copyMap, ref copyToMap);
  574. toMapControl.Extent = mapControl.FullExtent;
  575. }
  576. catch (System.Exception ex)
  577. {
  578. MessageBox.Show("Map间数据同步失败!" + ex);
  579. }
  580.  
  581. }
  582.  
  583. /// <summary>
  584. /// 同步到PageLayout控件
  585. /// </summary>
  586. public static void CopyToPageLayout(IMapControlDefault mapControl, IPageLayoutControlDefault pageLayoutControl)
  587. {
  588. try
  589. {
  590. IObjectCopy objCopy = new ObjectCopyClass();
  591. object copyFromMap = mapControl.Map;
  592. object copyMap = objCopy.Copy(copyFromMap);
  593. object copyToMap = pageLayoutControl.ActiveView.FocusMap;
  594. objCopy.Overwrite(copyMap, ref copyToMap);
  595. }
  596. catch (System.Exception ex)
  597. {
  598. MessageBox.Show("Map与PageLayout数据同步失败!" + ex);
  599. }
  600.  
  601. }
  602.  
  603. /// <summary>
  604. /// 屏幕变化后刷新屏幕
  605. /// </summary>
  606. /// <param name="mapControl"></param>
  607. public static void AfterScreenDraw(IMapControlDefault mapControl)
  608. {
  609. try
  610. {
  611. IActiveView activeView = (IActiveView)mapControl.ActiveView.FocusMap;
  612. IDisplayTransformation displayTransformation = activeView.ScreenDisplay.DisplayTransformation;
  613. displayTransformation.VisibleBounds = mapControl.Extent;
  614. mapControl.ActiveView.Refresh();
  615. }
  616. catch (System.Exception ex)
  617. {
  618. MessageBox.Show("刷新屏幕失败!" + ex);
  619. }
  620.  
  621. }
  622. }
  623. }

C#:MapControl基本操作代码整理的更多相关文章

  1. Smtp邮件发送系统公用代码整理—总结

    1.前言 a.在软件开发中,我们经常能够遇到给用户或者客户推送邮件,推送邮件也分为很多方式,比如:推送一句话,推送一个网页等等.那么在系统开发中我们一般在什么情况下会使用邮件发送呢?下面我简单总结了一 ...

  2. Chrome应用技巧之代码整理。

    我们有时候在看别人站点代码时往往是经过压缩的,代码都在一行上了,调试非常是困难,今天给大家介绍一种基本Chrome浏览器的代码整理方法.请看图:

  3. NSIS常用代码整理

    原文 NSIS常用代码整理 这是一些常用的NSIS代码,少轻狂特意整理出来,方便大家随时查看使用.不定期更新哦~~~ 1 ;获取操作系统盘符 2 ReadEnvStr $R0 SYSTEMDRIVE ...

  4. material design 的android开源代码整理

    material design 的android开源代码整理 1 android (material design 效果的代码库) 地址请点击:MaterialDesignLibrary 效果: 2 ...

  5. 一些 NSArray 的基本操作代码例子

    一些 NSArray 的基本操作代码例子 数组可以说是软件开发人员每天都要面对的基本操作,下面就分享一些 NSArray 的基本操作代码例子供苹果开发初学者参考,每段代码第一行会以注释方式说明该段代码 ...

  6. HTTP请求代码整理

    HTTP请求代码整理 类别 代码 注释 1xx – 信息提示 100 继续 101 切换协议 2xx - 成功 200 确定.客户端请求已成功 201 已创建 202 已接受 203 非权威性信息 2 ...

  7. SQL代码整理

    --SQL代码整理: create database mingzi--创建数据库go--连接符(可省略)create table biao--创建表( lieming1 int not null,-- ...

  8. IOS常用代码整理

    常用代码整理: 12.判断邮箱格式是否正确的代码: //利用正则表达式验证 -(BOOL)isValidateEmail:(NSString *)email { NSString *emailRege ...

  9. html Css PC 移动端 公用部分样式代码整理

    css常用公用部分样式代码整理: body, html, div, blockquote, img, label, p, h1, h2, h3, h4, h5, h6, pre, ul, ol, li ...

随机推荐

  1. 多线程 -- GCD

    GCD中有2个核心概念 任务:执行什么操作 队列:用来存放任务 执行任务 同步方法: dispatch_sync dispatch_sync(dispatch_queue_t queue, dispa ...

  2. 在本地环境用虚拟机win2008 sever搭建VS2013 + SVN 代码版本控制环境

    此文仅仅是自己笔记做个备忘.因为自己开发一些中小型的软件经常需要修修改改,特别是winform界面的大改动.经常需要对版本进行管理.而租用分布式服务器和远程服务器都不是自己想要的.本文结合虚拟机 + ...

  3. iptables规则表

    1.iptables规则表 Filter(针对过滤系统):INPUT.FORWARD.OUTPUT NAT(针对地址转换系统):PREROUTING.POSTROUTING.INPUT.OUTPUT ...

  4. 四则运算三+psp0级表格

    一.题目 在四则运算二的基础上,选择一个方向进行拓展,我选择的是增加了答题模块 二.设计思路 1.在上次的基础上,增加了答题模块,每出现一道四则运算题目,便提醒输入结果,如果结果错误,就会提示错误 2 ...

  5. 初学MFC

    学习使用MFC搭建界面.尝试使用MFC搭建了一个简单的基于对话框的计算器界面,包括模态对话框.非模态对话框.向导对话框等. // MFCApplicationAddDlg.h : 头文件 // #pr ...

  6. 升级ubuntu内核

    ubuntu12.04内核为 linux-image-3.5.0-23-generic 要升级为 linux-image-3.2.0-57-generic 使用apt-get install linu ...

  7. WPF 策略模式

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.W ...

  8. js java正则表达式替换手机号4-7位为星*号

    需求: 一个手机号13152461111,由于安全性,需要替换4-7位字符串为星号,为131****1111,那么有2中玩法,一种是前端隐藏,一种是后台隐藏. 1. 前台隐藏 <!DOCTYPE ...

  9. CSS兼容问题大全

    1.chorme 最小字体的兼容性. 问题描述:ff和IE最小字体可设置为1px,可是chorme中文版最小字体是12px,小于12px的字体全部显示为12px.解决方案:chorme支持CSS3的, ...

  10. Sqli-labs less 61

    Less-61 此处对于id处理还是有点奇葩的,第一次遇到利用两层括号的.(可能我头发比较长,见识短了).形式和上述是一样的 payload: http://127.0.0.1/sqli-labs/L ...