|
Actually, I just remember something that worked for a ListView (encapsulates the List-View common control) and that there was something similar in the Tree-View. It isn't easy, though, and you should have some experience with Win32 programming.
Using image lists, there is a way to hide a check box for a tree node, though it can be a bit tricky. See the documentation for the TVS_CHECKBOXES style in the Tree-View Windows Styles[^] reference on MSDN Online in the Platform SDK. It provides some basic intructions along with links to more resources. This is more of a trick with an Image List rather than the Tree-View itself.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Hi,
it is possible to defined a separated contextmenu for some TreeNodes? Or it is possible to enable a contextmenu for some nodes and for other nodes not? I hope I can do that, how?
Thanks for reply.
|
|
|
|
|
One easy way would be to have a ContextMenu assigned to TreeView.ContextMenu (inherited from Control ). Handle the Popup event and customize your MenuItem s in the handler. Another way - although consuming more memory - would be to have separate ContextMenu instances and not assign anything to TreeView.ContextMenu . Handle the TreeView.MouseDown or TreeView.MouseUp events (whichever you prefer) and call ContextMenu.Show , passing the TreeView as the first parameter and the X and Y coordinates in a Point (from the MouseEventArgs ) as the second parameter to Show . This calls the TrackPopupMenu native function internally.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
I am trying to call Oracle store procedures from MSSQL via linked server connection.
For every kind of oracle store procedure, I am receiving several error messages coming from oracle OLEDB or ODBC provider telling that there are syntax errors.
I am looking for a solution.
Thanks.
|
|
|
|
|
|
Hiii
i have a combo Box with a list like this
Aman
Anant
Arun
Ajay
Vijay
Vikaas
Now i want whenever i press 'a' the first name starting from a should be selected and if i press an then automatically 'anant' is choosen.
Please help me
Thanx
|
|
|
|
|
Check this article out: C# does Shell, Part 4, especially section 5 on how to inject your own list for the autocomplete.
|
|
|
|
|
|
I'm trying this code, but I get the error :" Object reference not set to an instance of an object".
The code:
// Create new Table Style
DataGridTableStyle ts = new DataGridTableStyle();
ts.MappingName = "Employees";
this.dataGrid1.TableStyles.Clear();
this.dataGrid1.TableStyles.Add(ts);
// Assign New Width to DataGrid column
this.dataGrid1.TableStyles["Employees"].GridColumnStyles["EmployeeName"].Width = newwidth;
I set the DataSource for the Datagrid to dataset.Employees on the DataGrid Properties.
Does anyone know what I'm doing wrong or what I could try??
|
|
|
|
|
You actually have to add a new DataGridColumnStyle before you can refer to it. If you step through your code in the debugger, you'll notice that .GridColumnStyles["EmployeeName"] name is null - you never created such a column. You have to create all the DataGridColumnStyle s you want mapped, the DataGridTableStyle , add the columns to the table style's GridColumnStyles collection property, then add the table to the DataGrid 's TableStyles collection property.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Hi,
I have simular code like below
the type object in dr.ItemArray[0] is Int16
but I can not assigne the dr.ItemArray[0] to i (int)
i = dr.ItemArray[0]; throws exception
Is there a method of assigning DataRow fields of number types to integer variables;
To achieve my goal I'm converting the object to string and then back to integer
i = int.Parse(n.ToString());
I think that this can not be the correct way.
Thank you in advance,
Seval YILMAZ
object n;
int i;
foreach (DataRow dr in clGlobal.ds.Tables["login1"].Rows)
{
n = dr.ItemArray[0];
i = int.Parse(n.ToString());
}
|
|
|
|
|
n = Convert.ToInt32(dr[0]);
|
|
|
|
|
How do I disable the child form control box, maximized box and minimized box.
I have codes like
childFrm.ControlBox = false;
childFrm.MaximizeBox = false;
childFrm.MinimizeBox = false;
childFrm.MdiParent = this;
childFrm.Show();
but it will still showing the grayed control box right below the parent control box.
Anyway of totally making it disappear?
thanx in advance
Sonork 100.41263:Anthony_Yio
|
|
|
|
|
It will all disappear with:
childFrm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
|
|
|
|
|
It is a fresh installation.
If I have two files, test.aspx and test.asp, which include only a test words : This is test!
When load from this server, the test.aspx copy can pass and display This is test!. But the test.asp displays nothing but Fobidden error message?
Any idea?
Thanks
JW
DJ
|
|
|
|
|
Tehre is an execute permission setting on Default WEB site properties page
Home Diractory Tab
Execute Permissions have to be
Scripts and Executibles try this
|
|
|
|
|
Is there a difference between initializing variables this way ...
<br />
public class Something<br />
{<br />
private ArrayList list = new ArrayList();<br />
public Something()<br />
{<br />
...<br />
}<br />
}<br />
... or that way ...
<br />
public class Something<br />
{<br />
private ArrayList list;<br />
public Something()<br />
{<br />
list = new ArrayList();<br />
...<br />
}<br />
}<br />
Notice that I have only one constructor.
Regards, Desmond
|
|
|
|
|
With the second alternative you can catch exceptions thrown in the contructor.
|
|
|
|
|
Yes there is an important difference:
If you don't set the list field, the compiler set the field to null.
C# compiler automatically set all of reference variables to null vlues and you should set them to value that you want.
MJ Mirzazadeh.
MSCD.NET , JAVA Certified
|
|
|
|
|
One small addition:
C# automatically sets reference *fields* to null, not all reference variables. Within a class member (function, property etc), they must be explicitly initialized.
|
|
|
|
|
One other difference to note:
In C#, field variables are initialized before instance constructors fire, so in your first example, the 'list' object would be initialized before the public constructor fired, instead of after, as in the second example.
It's also interesting to note that VB.Net exhibits the opposite behavior (fields are initialized after the constructor fires).
|
|
|
|
|
Is there a way to make the ToolBar have a background image? I tried setting the BackgroundImage property but it doesn't work. Then i create a custom control derived from ToolBar and override OnPaintBackground() to paint the image. It doesn't work either. Any ideas?
<font=arial>Weiye Chen
When pursuing your dreams, don't forget to enjoy your life...
|
|
|
|
|
Not every control supports every property. The ToolBar control doesn't make use of the BackgroundImage property, so it hides it from design-time designers like the PropertyGrid and code editors (if they check the BrowsableAttribute and EditorBrowsableAttribute like they're supposed to).
The ToolBar uses the ControlStyles.AllPaintingInWmPaint , so you'll either have to paint your background in OnPaint , calling base.OnPaint after (to "z-order" correctly), or handle the WM_ERASEBKGND in an override of WndProc . Another way to accomplish the latter is to set the TBSTYLE_CUSTOMERASE in an override for CreateParams then handle NM_CUSTOMDRAW notification messages in an override of WndProc . For more information on these latter ways, see the Windows Controls documentation in the Platform SDK, which you can read on MSDN Library online[^] (under the UI section).
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
This is what i tried in my derived toolbar. The background color is changed and the buttons all appear normal, but when i hover onto one button, the next one disappear. You mentioned something about the z order. Is is the cause of the problem?
protected override void WndProc(ref Message m)
{
base.WndProc(ref m);
if(m.Msg == 0x0014)
{
Graphics newGraphics = Graphics.FromHwnd(this.Handle);
newGraphics.FillRectangle(new SolidBrush(Color.Khaki), this.Bounds);
}
}
<font=arial>Weiye Chen
When pursuing your dreams, don't forget to enjoy your life...
|
|
|
|
|
No, the "z-order" is the order of drawing on the "z axis". In 2D drawing, this doesn't really exist (which is why I put it in quotes). You still have to draw things in a certain order. Like, if you allowed for the defaulting painting and then drew your background, you wouldn't see any buttons because your background was drawn on top of the other buttons (control's that control their own painting might still be on top, though).
The only advice I can offer is to google the 'net for information on backgrounds and toolbars. Most of the examples you'll find will most likely be in C/C++/MFC, but once you override WndProc you're already down that path - handling windows notification messages and what-not.
You might try http://www.codeguru.com[^]. They would most likely have a lot of these examples, perhaps even some in C#. And if you read the articles here often, you might notice a few familiar names there, too.
Microsoft MVP, Visual C#
My Articles
|
|
|
|