Change log:
You can download it at http://www.getpaint.net/files/PaintDotNet_3_0_Beta1.exe
[Via Rick Brewster's blog]
Random thoughts about software development and tools
Change log:
You can download it at http://www.getpaint.net/files/PaintDotNet_3_0_Beta1.exe
[Via Rick Brewster's blog]
at
22:28
0
comments
XML Notepad 2007 provides a simple intuitive user interface for browsing and editing XML documents.
Features:
[Via Larkware News]
at
17:23
0
comments
In this post I will present a function that can be used to export a data table to a CSV file. The function first loops through the columns of the data table to export the names of all the data columns. And then in next loop the code iterates over each data row to export all the values in the table.
/// <summary>
/// Exports the table to CSV string.
/// </summary>
/// <param name="table">The table.</param>
/// <param name="printHeaders">
/// if set to <c>true</c> print headers.</param>
/// <returns>CSV formated string</returns>
private static string ExportTableToCsvString(
DataTable table, bool printHeaders
)
{
StringBuilder sb = new StringBuilder();
if (printHeaders)
{
//write the headers.
for (int colCount = 0;
colCount < table.Columns.Count; colCount++)
{
sb.Append(table.Columns[colCount].ColumnName);
if (colCount != table.Columns.Count - 1)
{
sb.Append(",");
}
else
{
sb.AppendLine();
}
}
}
// Write all the rows.
for (int rowCount = 0;
rowCount < table.Rows.Count; rowCount++)
{
for (int colCount = 0;
colCount < table.Columns.Count; colCount++)
{
sb.Append(table.Rows[rowCount][colCount]);
if (colCount != table.Columns.Count - 1)
{
sb.Append(",");
}
}
if (rowCount != table.Rows.Count - 1)
{
sb.AppendLine();
}
}
return sb.ToString();
}
at
13:35
1 comments
hMailServer is a free, open source, GPL-licensed e-mail server for Microsoft Windows. It supports all the common e-mail protocols (IMAP, SMTP and POP3) and comes with an easy-to-use COM library that can be used for integration with other software.
[Via LarkWare News]
at
12:53
0
comments
Powershell Analyzer is a rich interactive environment for Windows Powershell. Its goal is to be the powershell host of choice for IT professionals and system administrators. It has all the typical editor and IDE functionality that you would expect when working on a modern language, but it focuses on the real time interactive experience as if you were at the console, helping you compose the commands you want to use, and also giving you rich graphical visualization of the results. Powershell may seem to just return text like the average Unix shell, but in reality, it is returning rich self describing Dotnet objects. Powershell Analyzer not only helps you with the INPUT, but also with the output. It shows you the properties of the rich objects that the commands return, as well as specific visualizers to help you interact with output such as XML, HTML, charts, tables, and hierarchical data structures.
Get the Latest build here: http://www.powershellanalyzer.com/downloads/PowerShellAnalyzer-1-0-1-4.zip
at
16:59
0
comments
ReSharper 2.5 is a minor release dedicated to improving performance and stability of ReSharper 2.0. It will work for Visual Studio 2005 only. The following list of performance improvements and features will be available as part of the relase.
In addition this release offers better user interface design (see screenshots) and significant stability improvements.
From this page you can download the EAP builds for ReSharper 2.5.
[Via Larkware News]
at
23:47
0
comments
There are more than 300 awsome designed icons for your ASP.NET applications in this package. And, they all are completely free!You can use them in your web applications, both personal and commercial.
at
23:40
0
comments
Windows PowerShell 1.0 is finally released.
Download Windows PowerShell 1.0
Don't forget to check out related resources like:
Remember to download the Windows PowerShell Documentation Pack that includes a Getting Started Guide, Quick Reference chart and a 100+ page Windows PowerShell primer.
at
23:36
0
comments
Well these are must read articles if you’re new to the threading world or if you’re not but want to get updated with the new Net 2.0 BackgroundWorker component.
at
13:37
0
comments
Windows Live Writer is a desktop application that makes it easier to compose compelling blog posts using Windows Live Spaces or your current blog service.
The following is a summary of the changes in the Writer 1.0 (Beta) Update:
Download Windows Live Writer 1.0 (Beta) Update
at
01:41
0
comments
vRD is a tool which allows the management of RDP connections to servers. vRD is ideal for administrators who need to maintain simultaneous connections to multiple servers. Connection-specific settings and login credentials can be organized in folders and subfolders for quick access.
The new version 1.4 further extends the ease of use. Coming, amongst others, with a dynamic overview tab page over all established connections, the ability to choose the session window size through a drop down field and providing the option to set the RDP port, vRD offers many new features for hassle-free handling of multiple RDP connections.
at
15:02
1 comments
Automatic memory management is one of the services during Managed Execution that makes a developer's life a bit easier. Developers do not have to worry about freeing objects when they are no longer used, since the garbage collector takes care of that. The garbage collector determines which objects have no references and can therefore be released from memory. This prevents many problems such as forgetting to free objects from memory, causing memory leaks or attempting to access memory that has already been released.
The problem with automatic memory management
The automatic memory management technique is not perfect. As explained above, an object can be collected by the garbage collector when the object has no more references. It's logical that a button will not be collected when a form still knows it's there, but there are other references that a programmer might not expect, that also keep an object alive.
An eventhandler can be such a reference that it will prevent the object from being collected. Another example is using a static collection object to register certain object instances. These instances will never be collected since the collection always has a reference to them. An IMessageFilter to handle window messages also has the same collection problem.
The solution
To prevent this kind of problems, qios has created a system that uses WeakReferences to attach to events, collection members, and IMessageFilters. A WeakReference is a reference to an object that will allow it to be garbage collected.
at
00:43
1 comments
SyntaxColor4Writer is a plugin for Windows Live Writer that enables you to embed syntax highlighting in your blog posts. This plugin uses an excellent component called Code Highlighter . The following syntax languages are included and can be customized and extended:
at
17:17
0
comments
Monoppix is a Live CD Linux distribution (based on Knoppix), which means you pop it in your CD drive, reboot, and you're running Linux. It works without installing a thing on your hard drive - it runs completely off the CD and RAM.
- Mono runtime environment, complier and class libraries
- Monodevelop - Mono enabled IDE
- XSP - ASP.NET web server
- GTK# - for desktop applications (sample included)
- MySQL database server
- Quickstarts and Mono walkthroughs and tutorials,
- Download the latest ISO.
- Burn the ISO to a bootable CD.
- Reboot your computer with the mono CD and CDRom boot enabled in your bios.
at
10:14
1 comments
Note: Continuously updating a SplitContainer's contents can lead to poor performance, and should be used sparingly.
By default, when moving a SplitContainer's splitter a preview is shown of the splitter's future location. Then when the splitter is released, the SplitContainer resizes to that position. If you want the SplitContainer to be constantly resizing as the splitter is moving, you can do one of two things:
Insert the following code in your project, and attach these events to all of the SplitContainers that you want to continuously update.
private void splitContainer_MouseDown(object sender, MouseEventArgs e)
{
// This disables the normal move behavior
((SplitContainer)sender).IsSplitterFixed = true;
}
private void splitContainer_MouseUp(object sender, MouseEventArgs e)
{
// This allows the splitter to be moved normally again
((SplitContainer)sender).IsSplitterFixed = false;
}
private void splitContainer_MouseMove(object sender, MouseEventArgs e)
{
// Check to make sure the splitter won't be updated by the
// normal move behavior also
if (((SplitContainer)sender).IsSplitterFixed)
{
// Make sure that the button used to move the splitter
// is the left mouse button
if (e.Button.Equals(MouseButtons.Left))
{
// Checks to see if the splitter is aligned Vertically
if (((SplitContainer)sender).Orientation.Equals(Orientation.Vertical))
{
// Only move the splitter if the mouse is within
// the appropriate bounds
if (e.X > 0 && e.X < ((SplitContainer)sender).Width)
{
// Move the splitter
((SplitContainer)sender).SplitterDistance = e.X;
}
}
// If it isn't aligned vertically then it must be
// horizontal
else
{
// Only move the splitter if the mouse is within
// the appropriate bounds
if (e.Y > 0 && e.Y < ((SplitContainer)sender).Height)
{
// Move the splitter
((SplitContainer)sender).SplitterDistance = e.Y;
}
}
}
// If a button other than left is pressed or no button
// at all
else
{
// This allows the splitter to be moved normally again
((SplitContainer)sender).IsSplitterFixed = false;
}
}
}
Technorati : dotnet, faq, splitcontainer, winforms
at
09:49
0
comments