WindowsXP(C# 2005使用)では
Microsoft.VisualBasic.DateAndTime.TimeOfDay = NewTime;
で簡単に時刻の設定が出来たのですが、
.NET Compact Framework では Microsoft.VisualBasic の部分がエラーになってしまいます。
時刻を設定するにはどうすれば良いのでしょうか。
こんばんは、CH3COOH(酢酸)です。
Windows Mobile 6.5.3端末上で.NET Compact Frameworkから、
WM6.5スタイル(という表現が正確かは分かりませんが)の標準コントロールを扱う方法はないでしょうか?
具体的に言うと、
http://d.hatena.ne.jp/tmyt/20101106/1289053765
のようなチェックボックスや、コンボボックス、ラジオボックスです。
これを.NET Compact Framework上から扱えないでしょうか。
TabControlとListViewには、
対応してみた( http://d.hatena.ne.jp/ch3cooh393/20101107 )のですが、
それ以外のコントロールでの対応方法が分かりませんでした。
よろしくお願いいたします。
Windows CE のアプリを開発しています。
現状は PocketPC 2003 SE エミュレータ で実行しています。
たとえば
Directory.CreateDirectory("\\DATA");
File.Create("\\DATA\\TEST.TEX");
を実行するとファイルはどこに出来るのでしょうか。
確かにファイルは出来ているようなのですが、ファイル名で検索してもどこにも見つかりません。
いつもお世話になっております。
今回、WebRequest.BeginGetResponse メソッド を利用して非同期でネットワークから画像データを取得し、それを既存のPanelクラスに貼り付けようとしています。
最初は安直にHandleEventを使用して既存クラスにコールバックしたのですが、Pictureboxを貼り付けるときに以下のExeptionが発生しました。
「別のスレッドで作成されたコントロールと対話するには、Control.Invoke を使用してください。」
そこでInvokeを使用して処理を渡してあげようとしたのですが、MSDNのリファレンスに
「.NET Compact Framework アプリケーションでは、デリゲートは EventHandler のインスタンスである必要があります。」
とありますが、EventHandlerを呼び出し元&コールバック先でどのように宣言して、それをDelegateクラスとしてInvokeをコールすればいいのかいまひとつ理解できません。以下のように試したのですが、コンパイルは通るのですがなかなかコールバック先に通知が届きません。
public event EventHandler ImageDownloaded; // 最初に実装したEventHandlerコールバック
public delegate void myMethodDelegate(object sender, EventArgs e); // EventHandlerのつもりのDelegate宣言
void RespCallback(IAsyncResult asynchronousResult) //
WebRequest.BeginGetResponse メソッド のサンプルのコールバック
{
try
{ ...
// Read the response into a Stream object.
Stream responseStream = myRequestState.response.GetResponseStream();
myRequestState.streamResponse = responseStream;
// 画像ファイルのときの処理
String str = myRequestState.response.ContentType.ToLower();
if (str.Contains("jpeg") || str.Contains("jpg"))
{
Delegate myDelegate = new myMethodDelegate(ImageDownloaded);
myRequestState.Invoke(myDelegate); // myRequestStateはサンプルではただのクラスですがInvokeを使用するのでControlクラスを継承しています
//ImageDownloaded(myRequestState, null); // 最初に試したHandleEventを使用したコールバック
return;
......
お分かりの方いましたら、ご教示いただければと思います。
よろしくお願いいたします。
バイト配列のBMP形式のデータをPictureBoxに表示するにはどのクラスを使ったらよいでしょう
デスクトップと同様に考えていたら、ImageクラスにFromStreamが無かったりImageConverterもなくて途方に暮れてしまいました
VB.netでアプリケーション開発を想定しております。
Windows Mobile6.5上で選択可能なリストをフォーム上に表示し、リストのスクロールをフリックで操作させたいのですが、可能でしょうか。
実装方法等ご教示ください。
Threadクラスを使ってマルチスレッドのアプリを作成中です。
スレッドの処理が終わったところで、コールバック関数を実行したいのですが、方法が分かりません。
何か方法は無いでしょうか。
現在、スリープ中でも一定時間毎に処理を行う方法を探しています。
(スリープ中とは本体の電源ボタンを短押して、画面が消えた状態を入っています。
再度電源ボタンをロック画面が表示される状態です。)
標準のアラーム等ですと、スリープ中でも指定時間が来ると画面が表示され、アラーム時間が来たことを通知してくれますが、
同等のことをユーザープログラムから実現したいのです。
プラットフォームはWindows Mobile 6.5 + Visual Basic 2008 Proressionalです。
ご存じの方がいらしたら、お知恵をお貸しください。
よろしくお願いします。
お世話になっております。
以下の環境でSyncFrameWork2.1を利用したのテストプログラムを作成しております。
VS2008(SP1)
SQLServerCE3.5(SP2)
WindowsMobile5
開発PC:XP(SP3)
言語:VB
表題のとおりなのですが、下のURLを参考に(URLはデバイス向けではないです)
http://sqlazure.jp/b/?p=194
ここで、
同期を取るテーブルのスキーマを取得する
Dim TBLtest As DbSyncTableDescription = SqlCeSyncDescriptionBuilder.GetDescriptionForTable(TableName, Connection)
で
「型 'System.Data.SqlServerCe.SqlCeConnection' を含むアセンブリ 'System.Data.SqlServerCe, Version=3.5.1.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' への参照が必要です。参照をプロジェクトに追加してください。」
のエラーが発生します。
参照設定には'System.Data.SqlServerCe(Ver 3.5.8080.0)を設定してあります。
ですが、参照タブで見ると3.5.1.0になっております。
また、該当箇所をコメントアウトし、SQLServerCEへの接続がSP2(Ver 3.5.8080.0)となっているのも確認してあります。
設定の仕方が悪いのか、何が悪いのかよくわからない状況になっております。
質問が漠然となってしまいましたが、解決方法をご教授いただければと思います。
C#2005でCE5.0のアプリを作っています。
機器に内蔵されたカメラを DirectShow を使って制御したいと思っています。
しかし、PC用のサンプルやC++のサンプルは見つかったのですが、C#のサンプルが見つかりません。
何か、参考になる資料は無いでしょうか。
こんにちは。
現在、標記の件で困っております。
Windows Mobile 6.1でWebBrowserコントロールに、ローカルのXMLファイルをスタイルシートを使用して
表示しておりましたが、Windows Mobile 6.5に移植したところ、表示できなくなりました。
仕様または表示方法が変更になったのでしょうか。
表示方法、解決策をご存知の方がおられましたらご教授願えないでしょうか。
よろしくお願い致します。
【環境】
Visual Studio 2008 Professional C#
NET Compact Framework 3.5
Windows Mobile 6.5
はじめまして。
現在、WindowsMobileアプリケーションの開発を行っているのですが表題のエラーが発生致して困っております。
詳細は下記になります。
【環境】
VisualStudio2008
NET Compact Framework 3.5
JPN Windows Mobile 6 Professional Emulator
【コード】
//Program.cs
using System;
using System.Linq;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Net;
namespace SmartDeviceProject1
{
static class Program
{
static void webreq()
{
WebRequest.Create("http://www.microsoft.com/ja/jp/default.aspx").GetResponse();
}
/// <summary>
/// アプリケーションのメイン エントリ ポイントです。
/// </summary>
[MTAThread]
static void Main()
{
webreq(); //「'System.UriFormatException' の初回例外が System.dll で発生しました。」が出力される
webreq(); // 同上
webreq(); // 同上 + タイムアウト(例外発生)
}
}
}
1回目と2回目では例外が出力されているとはいえ上手く行くのに、3回目では失敗しまいます。
もし回避策/解決策等を御存知の方がおられるなら、ご教授いただければ幸いです。
よろしくお願い致します。
.Net Compact Framework 1.0 から 3.5 への移行を計画しております。
移行に関しての注意点などがあればご教示いただきたく、投稿いたしました。
検索しても .Net Frameworkの移行サイトは見つかるのですが、
Compact Frameworkの移行サイトが見つかりませんでした。
何か、情報ありましたら、ご教示いただけますでしょうか。
Windows Mobile 6.5 端末から無線LAN経由でXPの共有フォルダへ、VB.Netのアプリで「WNetAddConnection3」APIを使用し、接続しようとするが、実行時、「PInvoke DLL mpr.dllが見つかりませんでした」と出力されます。
1.Windows Mobile 6.5 (NTT Docomo F-05B) アプリはVB.Net(Visual Studio 2008)で作成
2.Windows XP Pro SP3 共有フォルダは everyoneに変更権限付与
エラー出力の「mpr.dll」を、Windowsフォルダや、exeのあるフォルダにコピーして実行しても同様です。
原因が判らず困っています。何か、思いあたることはないでしょうか?
Windows Mobile 端末から、無線LANアクセスポイント経由で、XPパソコンの共有フォルダへWNetAddConnection3関数で接続時、接続可能な場合と、「ERROR_BAD_NETPATH:53」(共有フォルダが見えない?)が返り、接続不可の場合があります。
別のパソコンから、共有フォルダは必ず見え、上記の同一端末から同一XPパソコンとのSOCKET通信は必ず成功します。また、XPパソコン側のSOCKET通信アプリを停止させ、端末からSOCKET通信を行い、通信失敗した後であれば、WNetAddConnection3関数で共有フォルダに必ず接続できます。
ネットワークの設定や共有フォルダの設定には問題ない思うのですが、共有フォルダ接続とSOCKET通信では、何か違いがあるのでしょうか? XPパソコンとWindows Mobile端末の共有フォルダ接続には、何か違いがあるのでしょうか?
たとえば、WNetAddConnection3関数で接続する前に、何かの処理を追加すれば接続できる(共有フォルダが「見える)ようになるのでしょうか?
どなたかご存知の方はおられませんでしょうか?
このフォーラムに質問する内容ではないかもしれませんが、よろしくお願いします。
はじめまして。nakayoshiと申します。
.netは初心者で試行錯誤で社内で利用するWindowsMobile6.5端末の開発をしています。
開発したアプリケーションを登録し、スタートからアイコンをタップすると、無事思った通りの動作をしています。
しかし、他の人にテストしてもらったときに、起動はダブルクリックのようにやると思い、
アイコン連打したところ、複数立ち上がってしまいました。
そこで、ネット上で調査して下記コードを書いてみましたが効果がありません。
どこが悪いのかわかりません。
何分初心者なので見当違いなのかもよく分かってませんが、ご教授下さい。
スタートアップオブジェクトはSub Mainとしました。
PublicClass Strat'=============================='スタートクラス'==============================SharedSub Main()'多重起動チェックConst ERROR_ALREADY_EXISTS AsInteger = 183If CreateMutex(IntPtr.Zero, True, System.Reflection.Assembly.GetExecutingAssembly().GetName().Name) <> 0 ThenIf GetLastError() = ERROR_ALREADY_EXISTS Then MessageBox.Show("すでに起動しています。", "メッセージ") Application.Exit()EndIfEndIf'FRM_MENUを開く Application.Run(New FRM_MENU())EndSub<DllImport("CoreDll.Dll")> PrivateSharedFunction GetLastError() AsIntegerEndFunction<DllImport("CoreDll.Dll", EntryPoint:="CreateMutexW")> PrivateSharedFunction CreateMutex(ByVal lpMutexAttributes As IntPtr, ByVal InitialOwner AsBoolean, ByVal MutexName AsString) AsIntegerEndFunctionEndClass
.net Compact Framework 3.5 で質問です。(VB.NET)
通常の .NET Framework であれば Enum.GetValues() メソッドが利用可能でしたが、
.NET Compact Framework の場合に使用できなくて悩んでます。
.NET Framework 2.0 にて、列挙体で定義してある最大値を取得する関数を作っていたのでそれをそのまま利用しようと思っていたのですが。。。
(以下、その関数をUpします)
同様の事は実現可能でしょうか。
Public Function GetMaxEnum(Byval _Enum As Ststem.Type) As Integer Dim i As Integer Dim Num As Integer = System.Int32.MinValue For Each i In System.Enum.GetValues(_Enum) If i > Num Then Num = i End If Next Return Num End Function
.NET Compact Framework 3.5 にて、DataGrid を利用しています。(VB.NET)
DataGrid上にフォーカスがあるとき、↑キーや↓キーの制御を自前で制御したいので無効にしたいのですが、 DataGrid の KeyDown イベントで e.Handled = True にしても効果が無く困っています。
KeyDown イベントで Up/Down のKeyCodeを捕捉はできるのですが、捕捉したときには既に勝手にセルを移動してしまっているようなのです。
やりたい事としては、DataGridの先頭行にフォーカスがあるときと、DataGridの最終行にフォーカスがあるときに、他のコントロールにフォーカスを移動させたいため、自前で処理したいのです。
解決方法をご存じの方、よろしくお願いいたします。以下、効果のなかったコード
Private Sub DataGrid1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles DataGrid1.KeyDown Select Case e.KeyCode Case Keys.Up e.Handled = True '先頭行の場合TextBox1にフォーカス移動 If DataGrid1.CurrentCell.RowNumber = 0 Then TextBox1.Focus() End If Case Keys.Down e.Handled = True '3行目の場合TextBox2にフォーカス移動 If DataGrid1.CurrentCell.RowNumber = 2 Then TextBox2.Focus() End If End Select End Sub