'VB
Dim ds As New DataSet()
Dim numRows As Integer = ds.Tables(0).Rows.Count
Dim numCols As Integer = ds.Tables(0).Columns.Count
If the DataGrid is bound to the DataView you can also use DataView.Count.
5.34. How do I create a owner drawn Listbox?
See the .NET Compact Framework QuickStarts, Implementing Events topic:
http://samples.gotdotnet.com/quickstart/compactframework/doc/btndclick.aspx
5.35. How can I implement Control.GetNextControl under the .NET Compact Framework?
The tab order of the controls in the .NET Compact Framework correspond directly to the order of the Controls in the Form.Controls collection. Therefore, GetNextControl can be implemented by determining the index of the specified Control and determing its neighbors in the collection. //C#
public Control GetNextControl(Control ctl, bool forward)
{
int curIndex = this.Controls.IndexOf(ctl);
if (forward)
{
if (curIndex < this.Controls.Count)
curIndex++;
else
curIndex = 0;
}
else
{
if (curIndex > 0)
curIndex--;
else
curIndex = this.Controls.Count - 1;
}
return this.Controls[curIndex];
}
'VB
Public Function GetNextControl(ByVal ctl As Control, _
ByVal forward As Boolean) As Control
Dim curIndex As Integer = Me.Controls.IndexOf(ctl)
If forward Then
If curIndex < Me.Controls.Count Then
curIndex += 1
Else
curIndex = 0
End If
Else
If curIndex > 0 Then
curIndex -= 1
Else
curIndex = Me.Controls.Count - 1
End If
End If
Return Me.Controls(curIndex)
End Function 'GetNextControl
5.36. How do I get notified when the user clicks on a treeview node?
TreeView does not support the Click event, however, a workaround is to use the AfterSelect event instead.
5.37. How do I set the title of a fullscreen multiline edit control window?
This is not supported by the current version of the .NET Compact Framework.
5.38. Why don' I see the validItem selected when I set ComboBox.SelectedValue to validItemInCollection?
Setting the SelectedValue property only works if the control is databound.
5.39. How do I detect the location where a 'tap & hold' occurred to bring up a context menu on my custom control?
Handle the ContextMenu.Popup event, and then query the current mouse coordinates using 'Control.MousePosition'.
5.40. Why doesn't the scrollbar value ever get set to the maximum value?
Similar to the NumericUpDown control, the maximum achievable value is the first empty row above the thumb. More specifically, from the editor properties, this equates to:
Maximum - (LargeChange + 1).
5.41. How do I tab out of a custom control to the previous control?
Call this.Parent.Controls(this.Parent.GetChildIndex(customcontrol) - 1).Focus() in the KeyDown event handler when a Keys.Up key is detected.
5.42. How do I add Toolbar buttons with transparency?
Icons support transparency, however, there is a known bug in Visual Studio .NET 2003 designer that creates incorrect code and makes icons non-transparent. A work around is to add an icon file to the ImageList outside of InitializeComponent and add the icon files to the project as content or embedded resources. The following code demonstrates this: //C#
using System.Drawing;
using System.IO;
using System.Reflection;
// Loaded as content example
private void Form1_Load(object sender, System.EventArgs e)
{
this.imageList1.Images.Add(new Icon(File.Open("fullFileName.ico",
FileMode.Open)));
this.toolBar1.Buttons[0].ImageIndex = 0;
}