English   Russian  



Home :: Blog


OpenSource .NET Essential Library

I was going to make a big library when I started to work on Heapar Essential Library .NET, but time has changed. I published some sophisticated independent controls, but Heapar Essential still consist of easy to develop .NET controls. No one wants to pay for such a library. In other hand I don’t want to include in the library something more powerful.

I have been thinking a lot and have made decision – I make the library free-of-charge. What is more – the library now includes all source code except Heapar Grid Control. It means these controls are Open Source now. You can change the code, you can improve it and deploy to your clients as part of your product.

The only thing I changed in the library – Heapar Report Renderer .NET was excluded from the library. It is independent control that you can by for $49 only.

The library is Open Source now, but I’m not going to stop developing. I’m going to improve the library in the near future.

[Direct link to this post OpenSource .NET Essential Library]

Drag&Drop in Heapar .NET FileListView

Today I'm going to show you how to add Drag&Drop feature to your application, that uses Heapar .NET FileListView Control. Create a new application and add FileListView control on the form. For this example we need any other control we will use to drag files on. I decided to use Panel control. Change the AllowDrop property in the Panel control to true. This control will be docked at the botom of the form.

Window Form for Example

Create ItemDrag event hendler for the FileListView control. Let's write the next code in this event handler:

 private void fileListView1_ItemDrag(object sender, ItemDragEventArgs e)
    if (e.Button == MouseButtons.Right)
    ListViewItem item = (ListViewItem)e.Item;
    DoDragDrop(fileListView1.FileSystemItems[item.Index], DragDropEffects.Copy);
  catch (Exception ex)
    MessageBox.Show(this, ex.Message);

The main purpose of the code is to get the Item user want to drag and start dragging the item with DoDragDrop function. Now create DragOver and DragEnter event hendlers for the Panel control. Let's write the next code in this event handler:

 private void panel1_DragOver(object sender, DragEventArgs e)
   if (e.Data == null)
    e.Effect = DragDropEffects.None;
  else if (e.Data.GetDataPresent("heaparessential.HeaparFileSystem.ShellItem"))
    e.Effect = DragDropEffects.Copy;
    e.Effect = DragDropEffects.None;

 private void panel1_DragEnter(object sender, DragEventArgs e)
   e.Effect = e.AllowedEffect;

In this event handler we have to fill e.Effect property with correct value. If user drag over Panel the item with correct data type, we put to e.Effect property DragDropEffects.Copy value.

The last one event handler we need is DragDrop for Panel control:

private void panel1_DragDrop(object sender, DragEventArgs e)
  ShellItem shellitem = 
  if (shellitem == null)
    label1.Text = shellitem.Path;

Next time I'm going to show, how to integrate system Drag&Drop feature to you application. N this case your

[Direct link to this post Drag&Drop in Heapar .NET FileListView]

.NET Gantt Control

At this time I'm working on a new .NET control named Heapar Gantt Control. Controls like this are using in the project management software like Microsoft Projects. A Gantt chart is a type of bar chart that illustrates a schedule or planning sheet. Gantt charts illustrate the start and finish dates of the terminal elements and summary elements of a project. More information may be found in Wikipedia: Gantt Chart.

I believe that this control may be useful for many software companies. I have searched in the Internet for ready to use solutions but I found the expensive ones only. That's why we decided to write our own solution. Our Gantt control will work under .NET platform and will be written on C#. At this time we are ready to show you the first beta version. It is only beta and easy to use example that shows you the future control. Download the example here: Heapar .NET Gantt Control

The example shows the basic features of the new control. The final version will be much I'm going to finish the control in one month. I hope to do it in time.

.NET Gantt Control

[Direct link to this post .NET Gantt Control]

Buy code, not build your own

I'm reading very interesting book Code Leader: Using People, Tools, and Processes to Build Successful Software from Patrick Cauldwell. The author is a professional software developer with the big development experience in various companies. He worked in any size companies from small startups to very big corporations. He saw the IT world from a different sight. But it is not a topic of the post. The post topic is buying code.

Book: Code Leader Using People, Tools

The first chapter of the Code Leader book is named as Buy, Not Build. In this chapter Patrick encourages us, to not write our own code. Sound odd, doesn't it? Our employees do not hire us to write code. We are hired to solve business problems using IT technologies. In most cases you don't have to write code to solve problems you may buy third-party code and use it in your project.

To make the expression sensible, Patrick Cauldwell gives us an excellent example with banks. If your company sells online banking software, then the core business value that you are delivering to your customers is banking. When it comes time to build your banking web site, and you need to ask user what day he wants his bill paid, you might want to add a calendar control to your web page. It's tempting (because we all like to write code) to immediately start writing a calendar control. After all, you can write one in no time, and you always wanted to. Besides, nobody else's calendar control is as good as the one that you can write. Upon reflection, however, you realize there is nothing about being able to write a calendar control that provides value directly to your business and customers.

To reduce expenses and your time you have to buy the calendar control from third-party company, that produce controls for businesses like yours. You have to write only the code directly connect to your business. This code makes the profit for your company and you was hired to write this code.

Our company provides libraries and controls for your business and independent software developers. If you buy our controls you will save your time and will be possible to make your software available for your customers as soon as possible. It makes our client additional competitive advantages.

All our libraries are shipped with full source code. It allows you:

  • to integrate our code in your business much smoovely.
  • you may advance our libraries to make it suitable to your needs. We do not recommend it will lead you to problems with upgrades. Let us make components suitable for your business. Contact us if you want to have any personal features.

Let us solve your problems because it is our business and it is what you pay for. Meanwhile you may write the code that gives you competitive advantages.

[Direct link to this post Buy code, not build your own]

Using third-party .NET components

Component Development in .NET Framework is a very powerful and easy to use technology that allows you to create your application quickly. You can build your application using components like building a house using bricks. I've heard sometimes in Internet that building software using components is not professional programming and using third-party components is a worst approach in software development. Every software developer has to write the code himself (herself). I believe that writing all the code for you application is a bad approach and very expensive. Why can we not use component development? Why can we not use third-party components?

Visual development allows me to create my application faster. My working hour costs too much. I can't spend all the time to write something that already exists on the market.

Most of software developers are trying to make their work easier and improve the development performance. Using third-party components is a good approach to save you time. I use third-party components and I recommend you to use third-party components too. I could write any kind of components I need but I don't do it. Average workweek of software developer costs about $1000. Do not spend this time to write a component for your application, when there is a third-party component to only $100. Save your time and make your development as cheep and faster as possible.

All companies are buying third-party code. Microsoft and Oracle buys code, technologies and whole companies. Let's remind the first Microsoft's success. Bill Gates didn’t write his own operation system. Hi bought finished operation system with source code, improved it, added Basic and sold it to IBM. When he got money from IBM and MS DOS got popularity, he got started to sell MS DOS to other computer companies directly.

Information technology is growing very fast these days. To be in touch with new technology you have to work hard and you have to learn 24 hours a day. It is a very expensive for any kind companies. If you want to score a success, you have to present you ready to sell product as soon as possible. To be the first, you could hire many software developers or you could buy building bricks (components) for your application.

Our mission is to develop .NET components for our clients. We provide our clients with full source code files and full help service by mail. We work to make you development process easier.

[Direct link to this post Using third-party .NET components]

Welcome to Heapar Software blog

We are going to talk about our products and libraries on the pages of this blog. I'm going to share our thoughts and our vision on Heapar Software products or libraries. I hope the blog and our products will be useful for you and your business.

We don't have RSS yet, but I'm going to solve the problem in the near future. Subscribe to our news if you want to be first to know about our products and updates.

[Direct link to this post Welcome to Heapar Software blog]

Share |

Copyright © Heapar Software 2009-2017. All rights reserved
Source code and libraries for .NET software developers
Legal Notices | Privacy Policy