Hilfe bei Windows Forms Freihandunterstützung?

Hi,

ich komme igendwie nicht mehr weiter. Ich versuche In meiner Windowsforms(KEIN WPF) eine freihandunterstützung einzubauen. Gegoggelt habe ich ich schon gefühlt alles. Bevor ich allerdings aufgebe wollte ich es nochmal hier versuchen. Ich habe Teile meines codes aus dem Beispiel von Microsoft für WPF kopiert

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Windows.Ink;
using Windows.Storage.Streams;
using Windows.UI.Input.Inking;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Media;


namespace Daily_Planner
{
    public partial class Form2 : Form
    {
        private InkCanvas inkCanvas;
        private InkToolbar inktoolbar;
        public Form2()
        {
            InitializeComponent();
            inkCanvas = new InkCanvas();
            //inkCanvas.FocusVisualPrimaryBrush = ImageBrush;
            inktoolbar = new InkToolbar();


            inktoolbar.VerticalAlignment = VerticalAlignment.Top;
            inktoolbar.Margin = new Thickness(10,0,10,0);
            inktoolbar.TargetInkCanvas = inkCanvas;
        }

Das ist erstmal nur der Teil, wo ich die Obijekte erstmal erstellen wollte. Hatte allerdings schon Probleme bei der Zuweisung vom FocusVisualPrimaryBrush, deshalb auch kommentiert.

Außerdem habe ich das gefühl, das was ich bis jetzt habe funktioniert auch nicht. Es sind zwar keine Fehlermeldungen, aber ich sehe weder die Toolbar noch kann ich nirgendswo auf dem InkCanvas malen.

Falls jemand weiter weiß bitte keine Links sondern eine direkte Erklärung, wie schon erwähnt im Internet war ich schon überall.

Vielen Dank schonmal!

Computer, Programmieren, CSharp, Informatik, Visual Studio
Wie kann ich "Object reference not set to an instance of an object" beheben?

Hallo,

ich bin dabei, ein Spiel zu machen und bekomme die ganze Zeit den Fehler

Object reference not set to an instance of an object

bei dem Code.

using System;
using System.Collections.Generic;
using UnityEngine;
using Random = UnityEngine.Random;
using Object = UnityEngine.Object;

// Token: 0x02000007 RID: 7
public class LevelGeneration : MonoBehaviour
{
  // Token: 0x06000015 RID: 21 RVA: 0x0000246C File Offset: 0x0000066C
  private void Awake()
  {
    this.lastEndPosition = this.levelPart_Start.Find("EndPosition").position;
    int num = 5;
    
    for (int i = 0; i < num; i++)
    {
      this.spawnLevelPart();
    }
  }

  // Token: 0x06000016 RID: 22 RVA: 0x000024A8 File Offset: 0x000006A8
  private void Update()
  {
    if (Vector3.Distance(this.player.transform.position, this.lastEndPosition) < 200f)
    {
      this.spawnLevelPart();
    }
  }

  // Token: 0x06000017 RID: 23 RVA: 0x000024D4 File Offset: 0x000006D4
  private Transform SpawnLevelPart(Transform levelPart, Vector3 spawnPosition)
  {
    Transform transform = Object.Instantiate<Transform>(levelPart, spawnPosition, Quaternion.identity);
    this.putRight(transform);
    return transform;
  }

  // Token: 0x06000018 RID: 24 RVA: 0x000024F8 File Offset: 0x000006F8
  private void spawnLevelPart()
  {
    Transform levelPart = this.levelPartList[Random.Range(0, this.levelPartList.Count)];
    Transform transform = this.SpawnLevelPart(levelPart, this.lastEndPosition);
    this.lastEndPosition = transform.Find("EndPosition").position;
  }

  // Token: 0x06000019 RID: 25 RVA: 0x00002548 File Offset: 0x00000748
  private void putRight(Transform levelPart)
  {
    this.bottomPosition.y = levelPart.Find("bottom").position.y;
    this.topPosition.y = levelPart.Find("top").position.y;

    if (this.bottomPosition.y <= -10f)
    {
      levelPart.transform.position += new Vector3(0f, 3f, 0f);
    }

    if (this.topPosition.y >= 10f)
    {
      levelPart.transform.position -= new Vector3(0f, 3f, 0f);
    }
  }

  // Token: 0x04000013 RID: 19
  private const float PLAYER_DISTANCE_SPAWN_LEVEL_PART = 200f;

  // Token: 0x04000014 RID: 20
  [Header("Level Parts")]
  [SerializeField]
  private Transform levelPart_Start;

  // Token: 0x04000015 RID: 21
  [SerializeField]
  private List<Transform> levelPartList;  

  // Token: 0x04000016 RID: 22
  [Header("Objects")]
  [SerializeField]
  private GameObject player;

  // Token: 0x04000017 RID: 23
  private Vector3 lastEndPosition;

  // Token: 0x04000018 RID: 24
  private Vector3 bottomPosition;

  // Token: 0x04000019 RID: 25
  private Vector3 topPosition;
}

Ich danke jetzt schon für die Antworten. ^^

Computer, Programmieren, CSharp, Unity
C# Code?

In angelsa ̈chsischen La ̈ndern ist es u ̈blich, Angaben fu ̈r Handelsgewichte in Pfund und Unzen vorzunehmen.

Ein Pfund hat 16 Unzen.

Fu ̈gen Sie in Ihr Projekt eine Klasse gema ̈ß dem rechts gezeigten Klassendiagramm ein. Die Klasse soll in einer eigenen Source-Datei angelegt werden.

Gewichtsangabe

- pfund: int - unzen: int

+ Gewichtsangabe() + GetPfund(): int + GetUnzen(): int

+ SetUnzen( neuerWert:int ): void

  Der Standardkonstruktor soll beide Attribute auf 0 initialisieren.

Die beiden Get-Methoden sollen jeweils das Attribut, das in ihrem Namen vorkommt, zuru ̈ckliefern.

Die Methode SetUnzen soll das Unzen-Attribut auf den Parameterwert setzen. Falls der Wert des Parameters gro ̈ßer als 15 ist, soll auch das Pfund-Attribut gesetzt werden, indem fu ̈r jede Gruppe von 16 Unzen jeweils 1 Pfund gesetzt wird. Nur der verbleibende Rest entfa ̈llt dann noch auf das Unzen-Attribut.

(Beispiel: 38 Unzen = 2 pfund 6 Unzen)

Erweitern Sie das Formular Ihres Programms um einen Button Start C und ein NumericUpDown- Element fu ̈r ganze Zahlen zwischen 0 und 500.

Wenn man auf den Button klickt, sollen in der Methode, die durch den Button gestartet wird, die folgenden Dinge passieren:

􏰅 Es soll ein Objekt vom Typ Gewichtsangabe angelegt werden.

􏰅 Fu ̈r das Objekt soll die Methode SetUnzen aufgerufen werden, wobei als Parameter der

Wert aus dem NumericUpDown-Element u ̈bergeben werden soll.

􏰅 Anschließend sollen der Wert aus dem NumericUpdown, sowie die Werte der Attribute pfund und unzen wie im Beispiel gezeigt ausgegeben werden. (Dabei mu ̈ssen die beiden Get-Methoden eingesetzt werden.)

Computer, Programmieren, CSharp, Informatik
C# script ändern?

Und zwar habe ich einen password cracker gemacht aber bisher kann man nur das passwort eingeben und dann dauert es bis es das passwort hat. Wie könnte ich es machen das es z.B das bei einem winrar file macht ?

Code(Konsolenanwendung):

    (hab das meiste weggelöscht, sonst zu groß, ich weiß nicht ob das weggelöschte hier wichtig gewesen wäre)

    
        static void Main(string[] args)
        {
            Console.Write("Password: ");
                String password = Console.ReadLine();
            String attempt = "";

            int first = 0;
            int second = 0;
            int third = 0;
            int fourth = 0;
            int fifth = 0;
            int sixth = 0;
            int seventh = 0;
            int Eighth = 0;
            int ninth = 0;
            int tenth = 0;
            int eleventh = 0;
            int twelfth = 0;
            int thirteenth = 0;
            int cracks = 0;



                attempt = array[twelfth] + array[eleventh] + array[tenth] + array[ninth] +array[Eighth] + array[seventh] + array[sixth] + array[fifth] + array[fourth] + array[third] + array[second] + array[first];


                Console.WriteLine(attempt);
                first++;
                cracks++;
            }
            Console.WriteLine("> Attempts to crack: " + cracks);
            Console.ReadLine();
        }
    }
}
Computer, Technik, Programmieren, Coden, Programmierung, CSharp, Technologie, CSharp Programmieren, CSharp Programmierung
Code umschreiben?

Hallo, kann man folgenden Code leicher schreiben? Also es soll die gleiche funktionalität haben nur leicher dargestellt werden.. ist das möglich? Hat jemand tipps oder vorschläge? Danke!

public class MyData

   {

       public void Save(System.Windows.Data.CollectionView items)

       {

           XDocument xdoc = new XDocument();

           XElement xeRoot = new XElement("Data");

           XElement xeSubRoot = new XElement("Rows");

           foreach (var item in items)

           {

               ListViewData lvc = (ListViewData)item;

              XElement xRow = new XElement("Row");

               xRow.Add(new XElement("col1", lvc.Col1));

               xRow.Add(new XElement("col2", lvc.Col2));

               xeSubRoot.Add(xRow);

           }

           xeRoot.Add(xeSubRoot);

           xdoc.Add(xeRoot);

           xdoc.Save("MyData.xml");

       }

       public IEnumerable<object> GetRows()

       {

           List<ListViewData> rows = new List<ListViewData>();

           if (File.Exists("MyData.xml"))

           {

               var rowsFromFile = from c in XDocument.Load(

                           "MyData.xml").Elements(

                           "Data").Elements("Rows").Elements("Row")

                                  select c;

               foreach (var row in rowsFromFile)

               {

                   rows.Add(new ListViewData(row.Element("col1").Value,

                           row.Element("col2").Value));

               }

           }

           return rows;

       }

   }

Programmieren, Anwendung, Programmierung, Code, CSharp, Visual Studio, wpf, Quellcode, WPF-Anwendung
WinRT/C++ Code kompilieren?

Hallo liebe Community,

ich habe auf Stackoverflow diesen Code hier gefunden, und habe keine Ahnung wie ich den richtig kompilieren soll

#include <winrt/Windows.Networking.Connectivity.h>
#include <winrt/Windows.Networking.NetworkOperators.h>
#include <winrt/Windows.Devices.WiFiDirect.h>
#include <winrt/Windows.Security.Credentials.h>
namespace winrt { // /ZW embed in :<winrt> when `Windows` is ambiguously defined
  static void af_winrt_wifi_hotspot_test() {
    // start ms-settings:network-mobilehotspot
    init_apartment(); // apartment_type::multi_threaded
    if (false /* play as you wish to test this all in simple c++ console app, I used clang */) {
      auto publisher = Windows::Devices::WiFiDirect::WiFiDirectAdvertisementPublisher();
      auto advertisement = publisher.Advertisement();
      advertisement.ListenStateDiscoverability(Windows::Devices::WiFiDirect::WiFiDirectAdvertisementListenStateDiscoverability::Intensive);
      advertisement.IsAutonomousGroupOwnerEnabled(true);
      auto legacySettings = advertisement.LegacySettings();
      legacySettings.IsEnabled(true);
      legacySettings.Ssid(L"your-hotspot-name");
      auto credential = Windows::Security::Credentials::PasswordCredential(); credential.Password(L"the-password!");
      legacySettings.Passphrase(credential);
      publisher.Start();
    }
    else {
      auto connectionProfile{ Windows::Networking::Connectivity::NetworkInformation::GetInternetConnectionProfile() };
      auto tetheringManager = Windows::Networking::NetworkOperators::NetworkOperatorTetheringManager::CreateFromConnectionProfile(connectionProfile);
      auto credential = Windows::Security::Credentials::PasswordCredential(); credential.Password(L"the-password!");
      auto conf = Windows::Networking::NetworkOperators::NetworkOperatorTetheringAccessPointConfiguration();
      conf.Ssid(L"I-Own-You"); conf.Passphrase(credential.Password());
      auto oldConf = tetheringManager.GetCurrentAccessPointConfiguration();
      auto oldSsid = oldConf.Ssid(); auto oldPwd = oldConf.Passphrase();
      tetheringManager.ConfigureAccessPointAsync(conf); // Sets new ssid/pwd here
      switch (tetheringManager.TetheringOperationalState()) {
      case Windows::Networking::NetworkOperators::TetheringOperationalState::Off: {
        auto ioAsync = tetheringManager.StartTetheringAsync();
        auto fResult = ioAsync.get();
        }                                                                                    
        break;
      case Windows::Networking::NetworkOperators::TetheringOperationalState::On: {
        // auto ioAsync = tetheringManager.StopTetheringAsync();
        // auto fResult = ioAsync.get();
        }                                                                                 
        break;
      case Windows::Networking::NetworkOperators::TetheringOperationalState::InTransition:
      default:
        break;
      }
    }        
    clear_factory_cache();
    uninit_apartment();
  }
}
Computer, Windows, Programmieren, CPP, CSharp, Informatik, Visual Studio

Meistgelesene Fragen zum Thema CSharp