ホーム » .NET (ページ 2)
「.NET」カテゴリーアーカイブ
ASP.NET Web
Visual Studio .NET スタートブック を読みながら,ASP.NET Web サービスをテスト(使用した VS は 2005 ).
新規プロジェクトで出来上がった,Service1.asmx.vb の
<WebMethod()> Public Function HelloWOrld() … End Function の次に,以下を追加.
<WebMethod()> Public Function CalcSvc(ByVal x As Integer, ByVal y As Integer) As Integer
Return x + y
End Function
実行も本の通り.
同様に,Service1.asmx.cs では
[WebMethod]
public string HelloWorld() {
return “Hello World”;
}
[WebMethod]
public int CalcSvcCS(int x ,int y) {
return x + y ;
}
今度は C++ .
面倒だったので CalcCPPClass.h のみに.
[System::Web::Services::WebMethod]
String ^HelloWorld();
[System::Web::Services::WebMethod]
int CalcSvcCPP(int x,int y) { return x+y ; }
ソリューションに複数のプロジェクトとしていたので,どこかの設定が違うのか VS から直接の起動が出来ない.
ブラウザで //localhast/~/~.asmx を指定すれば期待した動作となる.
Mono
ここを参考にさせてもらって,MonoDevelop をインストール.
C# のコンソールプロジェクトで作成したスケルトンのまま,ビルド,実行はすんなり動作した.
先日作成したフォームを塗りつぶすコードも,プロジェクトをそのままコピーして実行できる.
private void Form1_Paint(object sender, PaintEventArgs e)
{
LinearGradientBrush brush = new LinearGradientBrush
(ClientRectangle,Color.Green,Color.White,LinearGradientMode.ForwardDiagonal);
e.Graphics.FillRectangle(brush,ClientRectangle);
}
VisualC#.NET プログラミング入門にある AssemblyViewer も起動はしている.
機能の動作はエラーとなることもあるが,これはこの exe などの制限かもしれない.
VS 2005 で生成できる C# のスクリーン セーバ スタート キットも実行できる.
/c で設定画面を表示して rss を指定しても,RSS の読込が正しく行われない?
→ と思ったが,やり直したら?正しく RSS が読めている.
mono SSaveCS.exe [/c]
VB.NET のプロジェクトは生成できるが,ビルドしようとするとコンパイラがないとのエラー.
検索して,vbnc をインストール.
コンソール AP は通る様になったが,Windows フォームではコンパイルエラー?
Application.Designer.vb
Me.MainForm = Global.WinApVB.FormVB
’WinApVB.FormVB’ is a type and cannot be use as an expression.(VBNC30691)
VB Windows フォームには対応していないのか?
フォームへの描画
フォームに,左上から右下へグラデーションで表示する動作を幾つかの言語で書いてみた.
C#
//…
using System.Drawing.Drawing2D;
//…
namespace WinApCS
{
public partial class FormCS : Form
{
public FormCS()
{
InitializeComponent();
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
LinearGradientBrush brush = new LinearGradientBrush
(ClientRectangle,Color.Green,Color.White,LinearGradientMode.ForwardDiagonal);
e.Graphics.FillRectangle(brush,ClientRectangle);
}
protected override void OnResize(System.EventArgs e)
{
Invalidate();
}
}
}
VB
Imports System.Drawing.Drawing2D
Public Class FormVB
Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
Dim brush As New LinearGradientBrush
(ClientRectangle, Color.Blue, Color.White, LinearGradientMode.ForwardDiagonal)
e.Graphics.FillRectangle(brush, ClientRectangle)
End Sub
Protected Overrides Sub OnResize(ByVal e As System.EventArgs)
Invalidate()
End Sub
End Class
J#
//…
import System.Drawing.Drawing2D.*;
//…
public class FormJS extends System.Windows.Forms.Form
{
//…
private void Form1_Paint(Object sender, PaintEventArgs e)
{
LinearGradientBrush brush = new LinearGradientBrush
(get_ClientRectangle(),Color.get_Red(),Color.get_White(),LinearGradientMode.ForwardDiagonal) ;
e.get_Graphics().FillRectangle(brush,get_ClientRectangle()) ;
}
protected void OnResize(System.EventArgs e)
{
this.Invalidate();
}
}
C++/CLI
//…
namespace WFmCpClr {
//…
using namespace System::Drawing::Drawing2D;
//…
public ref class FormVC : public System::Windows::Forms::Form
{
//…
private: System::Void FormVC_Paint
(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e) {
LinearGradientBrush^ brush = gcnew LinearGradientBrush
(ClientRectangle,Color::Olive,Color::White,LinearGradientMode::ForwardDiagonal) ;
e->Graphics->FillRectangle(brush,ClientRectangle) ;
}
private: System::Void FormVC_Resize(System::Object^ sender, System::EventArgs^ e) {
Invalidate();
}
};
}