|
Actually, you should use Byte.ToString("x2") , or use String.Format("{0:x2}", someByte) or something like that. Without the "2", you'd get an invalid representation of bytes with values less than 127.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
|
Just open browseui.dll from %WINDIR%\System32 in Visual Studio .NET. Expand the Bitmap resource section and find the image strip you want. You can export that and then load it using ImageList.Images.AddStrip , or break-up the images into squares and add them individually.
Legally, you're not supposed to do this and just use the older images in the Common7\Graphics directory of your Visual Studio .NET installation, but only commercial products would probably suffer any consequences. I have been talking to Microsoft about updating those images since they're grossly out-dated.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
|
As I mentioned, you're not supposed to, but even non-Microsoft MSDN authors use them for articles posted on MSDN. So long as certain trademark images are used inappropriately, I can't see how a final year project would be affected. Take it up with your advisor to be sure if you're concerned.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
When I Build i try to load a project document I get the following message:
An error occured while loading the document. Fix the error, then try loading the document again. The error message follows:
The designer could not be shown for this file because none of the classeswithin it can be designed. The designer inspected the following classes in the file:
PrinterGUI2D--The base class 'RL.NDM.NDMUI.HostGUI2D' could nt be loaded. Ensure the assembly has been referenced or built if it is part of the project.
What d you advice. Below is file PrinterGUI2D.cs
namespace RL.NDM.NDMUI {
using System;
using System.Collections;
using System.Core;
using System.ComponentModel;
using System.Drawing;
using System.Diagnostics;
using RL.NDM;
using System.Windows.Forms;
///
/// A PrinterGUI2D is an extension of a HostGUI2D, with graphics customised for a printer
///
public class PrinterGUI2D : HostGUI2D {
private System.ComponentModel.IContainer components;
public PrinterGUI2D() : base() {
InitializeComponent();
}
public PrinterGUI2D(Host objHost) : base(objHost) {
// This call is required by the Windows Form Designer.
InitializeComponent();
}
// Form overrides dispose to clean up the component list.
public override void Dispose() {
base.Dispose();
components.Dispose();
}
///
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
///
private void InitializeComponent()
{
System.Resources.ResourceManager resources = new System.Resources.ResourceManager (typeof(PrinterGUI2D));
this.components = new System.ComponentModel.Container ();
//@this.TrayLargeIcon = false;
//@this.TrayAutoArrange = true;
//@this.TrayHeight = 90;
lblHostname.Visible = true;
picIcon.Visible = true;
picIcon.Image = (System.Drawing.Image) resources.GetObject ("picIcon.Image");
ilstImages.ImageStream = (System.Windows.Forms.ImageListStreamer) resources.GetObject ("ilstImages.ImageStream");
}
public override void Refresh() {
base.Refresh();
}
}
}
|
|
|
|
|
As the error says, you must reference the assembly containing that control/component in your project. Right-click on your project and select "Add Reference...". Select or browse to your assembly, add it to the list, and click OK.
At runtime, this assembly must also be resolvable, so it must be in your application directory, a probing path (configured in the .config file), referenced in the assemblyBinding section of your .config file, or, optimally, in the Global Assembly Cache (GAC). See How the Runtime Locates Assemblies[^] in the .NET Framework SDK for more information.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Hello...
For the moment I use something like "dataRow.ItemArray.GetValue(4).ToString();" to get the value of the 5th attribute in a DataRow of a DataGrid.
I don't seem to find a way to get the 5th value with the column name. Let's say the 5th attribute is in the column with name "Amount". How do I get this value out of the DataGrid.
Can someone help me out?
Thx in advance!
TweeZz.
|
|
|
|
|
dataRow["Amount"].ToString();
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Omg... It's that simple... I'm ashamed :s
Thx for the help Stewart (again)!
|
|
|
|
|
Hello!
How do I set the connection timeout in C#? It is default 15 sec, I want 90. I'm connecting to a sql-database.
|
|
|
|
|
Set the Connection Timeout property in the connection string, or use the ConnectionTimeout property on the SqlConnection object.
Stability. What an interesting concept. -- Chris Maunder
|
|
|
|
|
i am developin a voice enabled application and in which the IDe is controlled by voice commands..ex if i say "file" then file menu should be dropped..i can catch the commands but having problems in droppin the menu..
This can be jotted down to a simple problem like if u click a button in ur form..then file menu should be dropped..
i am doin this project using window forms in C#..
please help me out as soon as possible...
mail me at harbhanu@rediffmail.com
harbhanu@hotmail.com
|
|
|
|
|
Why don't you use TrackPopupMenu?
Declare the good old method:
[System.Runtime.InteropServices.DllImport("user32.dll")]<br />
private static extern bool TrackPopupMenuEx(IntPtr hmenu, int fuFlags, int x, int y, IntPtr hwnd, IntPtr lptpm);
Drop menus at anypoint:
<br />
public static void TrackPopupMenu(ContextMenu Menu, Point Location){<br />
TrackPopupMenu(Menu, (int)(TPM_LEFTBUTTON|TPM_LEFTALIGN|TPM_TOPALIGN), Location, new IntPtr(0));<br />
}
Or drop menus an other controls:
public static void TrackPopupMenu(ContextMenu Menu, Control DockingControl){<br />
Point menuPosition = DockingControl.PointToScreen(<br />
new Point(DockingControl.ClientRectangle.Location.X, DockingControl.ClientRectangle.Bottom) );<br />
TrackPopupMenu(Menu, (int)(TPM_LEFTBUTTON|TPM_LEFTALIGN|TPM_TOPALIGN), menuPosition, DockingControl.Handle);<br />
}
|
|
|
|
|
If you're using a ContextMenu , you can actually just call Show , which encapsulates the TrackPopupMenu API.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
i have a function that populates a combobox from a database and returns a table that i set as the datasource for the combobox, then a user select a value and on the Selection change event i populate another combobox based on the selected value, but the first combobox needs to have blank text so as the user is fprced to select a value from the first combobox but as i am populating the first combobox in the windows form LOAD it show the text of the first record from the database ie the first row of the table returned how can i add a blank row to my table and still populate the first combobox??
|
|
|
|
|
After you assign the DataSource property, do something like:
comboBox1.Items.Insert(0, string.Empty);
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
a big thank you i will try after the easter break
|
|
|
|
|
private void LScheme()
{
Customer c = new DGIBO.Customer();
DataTable list = c.getSchemes();
ddlScheme.Items.Insert(0, string.Empty);
this.ddlScheme.DataSource = list;
this.ddlScheme.DisplayMember = "SchemeName";
this.ddlScheme.ValueMember = "PhaseName";
tried my example above and it does not work, tried putting your code after datasource and got an error because the databind
|
|
|
|
|
Inserting before data binding won't work, of course, because when you data bind the control all the data-bound properties - like Items - are cleared.
The example I gave would still change the underlying data source, so you need to make sure that the data you're adding to the Items collection property doesn't violate any constraints (like a null key) in the DataTable .
Note, this isn't the case with ASP.NET and data-bound controls.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Hi,
I have a ClassA (extends Component) with some properties.
I have a ClassB (extends CollectionBase) that implements collection of ClassA objects.
In my main app, I use a ClassB collection, add some ClassA objects to it, and databind a property X of ClassA to a textbox:
textBox.DataBindings.Add("Text", ClassBCcollection, "PropertyX");
This works well, changes in the textbox are reflected in the collection.
EXCEPT when at startup the ClassB collection is empty, then databinding does not work.
So; databinding works when databindings are set after collection is filled with items; databinding does not work when databindings are set when collection is empty.
Do I miss something...?
Thanks!
|
|
|
|
|
lustuyck wrote:
Do I miss something...?
Nope. The reason is you read deep into the data-binding topics is because when you use a CurrencyManager to bind against a collection of unknown object types, the collection or list must contain all the same type (or base types that must come before their derivative types) and contain at least one of those types for the data-binding mechanism to discover the Type information correctly.
Even if you use typed parameters and return values, this still won't help since it uses the IList interface, which always returns and accepts the Object type. An object must be present in order to discover the actual Type information.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Hi, thanks for the answer.
What I do now as a 'workaround', is wait until an item is added to the collection the first time; and when that happens I add the databindings (only once).
It works now, but I don't know if this is common practice. Are there better ways to do something like this?
Kind regard,
Ludwig
|
|
|
|
|
Yes, but it's not simple. You need to extend the CurrencyManager class and override GetItemProperties to return the properties of the Type. You can do this simply by returning something like the following:
public override PropertyDescriptorCollection GetItemProperties()
{
return TypeDescriptor.GetProperties(typeof(MyClass), new Attribute[] {
new BindableAttribute(true) });
} Then, extend the Control classes that you want to data-bind and override the BindingContext property, return an instance of a derivative BindingContext that you must create. In your derivative class, override Add and when the BindingManagerBase is of type CurrencyManager , add your CurrencyManager derivative by calling base.Add with your type (which should copy information from the BindingManagerBase if available).
This should work, though it's untested.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Is there a way to preview a report as you build it? I know you can do the viewer to show it at runtime but i was wanting to preview what it would look like as i'm building so i don't have constantly make changes to get it exactly how i want it to look.
thanks
Win32newb
"Making windows programs worse than they already are"
|
|
|
|